From commits-return-14353-archive-asf-public=cust-asf.ponee.io@pulsar.incubator.apache.org Thu Sep 13 20:29:44 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 13B5F180649 for ; Thu, 13 Sep 2018 20:29:43 +0200 (CEST) Received: (qmail 83861 invoked by uid 500); 13 Sep 2018 18:29:43 -0000 Mailing-List: contact commits-help@pulsar.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@pulsar.incubator.apache.org Delivered-To: mailing list commits@pulsar.incubator.apache.org Received: (qmail 83849 invoked by uid 99); 13 Sep 2018 18:29:43 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Sep 2018 18:29:43 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 7E40282CB0; Thu, 13 Sep 2018 18:29:42 +0000 (UTC) Date: Thu, 13 Sep 2018 18:29:42 +0000 To: "commits@pulsar.apache.org" Subject: [incubator-pulsar] branch master updated: Fix: get function status with auth enable (#2516) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <153686338236.16669.9957459512090576401@gitbox.apache.org> From: sijie@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: incubator-pulsar X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 73645631849ffce2f144f23d861763fe52a25af9 X-Git-Newrev: e5a7b532ffbf1d8813fc31403162fe3c17e937f5 X-Git-Rev: e5a7b532ffbf1d8813fc31403162fe3c17e937f5 X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. sijie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git The following commit(s) were added to refs/heads/master by this push: new e5a7b53 Fix: get function status with auth enable (#2516) e5a7b53 is described below commit e5a7b532ffbf1d8813fc31403162fe3c17e937f5 Author: Rajan Dhabalia AuthorDate: Thu Sep 13 11:29:37 2018 -0700 Fix: get function status with auth enable (#2516) --- .../pulsar/broker/admin/impl/FunctionsBase.java | 2 +- .../client/admin/internal/FunctionsImpl.java | 5 ++- .../functions/worker/FunctionRuntimeManager.java | 41 ++++++++-------------- .../functions/worker/rest/api/FunctionsImpl.java | 6 ++-- .../worker/rest/api/v2/FunctionApiV2Resource.java | 2 +- 5 files changed, 23 insertions(+), 33 deletions(-) diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/FunctionsBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/FunctionsBase.java index def5452..62d12ec 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/FunctionsBase.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/FunctionsBase.java @@ -160,7 +160,7 @@ public class FunctionsBase extends AdminResource implements Supplier assignments = this.findFunctionAssignments(tenant, namespace, functionName); @@ -438,13 +425,15 @@ public class FunctionRuntimeManager implements AutoCloseable{ } for (Assignment assignment : assignments) { - - InstanceCommunication.FunctionStatus functionStatus = this.getFunctionInstanceStatus( - assignment.getInstance().getFunctionMetaData().getFunctionDetails().getTenant(), - assignment.getInstance().getFunctionMetaData().getFunctionDetails().getNamespace(), - assignment.getInstance().getFunctionMetaData().getFunctionDetails().getName(), - assignment.getInstance().getInstanceId()); - + boolean isOwner = this.workerConfig.getWorkerId().equals(assignment.getWorkerId()); + InstanceCommunication.FunctionStatus functionStatus = isOwner + ? (getFunctionInstanceStatus(tenant, namespace, functionName, + assignment.getInstance().getInstanceId(), null)) + : this.functionAdmin.functions().getFunctionStatus( + assignment.getInstance().getFunctionMetaData().getFunctionDetails().getTenant(), + assignment.getInstance().getFunctionMetaData().getFunctionDetails().getNamespace(), + assignment.getInstance().getFunctionMetaData().getFunctionDetails().getName(), + assignment.getInstance().getInstanceId()); functionStatusListBuilder.addFunctionStatusList(functionStatus); } return functionStatusListBuilder.build(); diff --git a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/FunctionsImpl.java b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/FunctionsImpl.java index 136bab0..df82c0d 100644 --- a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/FunctionsImpl.java +++ b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/FunctionsImpl.java @@ -332,7 +332,7 @@ public class FunctionsImpl { } public Response getFunctionInstanceStatus(final String tenant, final String namespace, final String functionName, - final String instanceId) throws IOException { + final String instanceId, URI uri) throws IOException { if (!isWorkerServiceAvailable()) { return getUnavailableResponse(); @@ -358,7 +358,9 @@ public class FunctionsImpl { FunctionStatus functionStatus = null; try { functionStatus = functionRuntimeManager.getFunctionInstanceStatus(tenant, namespace, functionName, - Integer.parseInt(instanceId)); + Integer.parseInt(instanceId), uri); + } catch (WebApplicationException we) { + throw we; } catch (Exception e) { log.error("{}/{}/{} Got Exception Getting Status", tenant, namespace, functionName, e); return Response.status(Status.INTERNAL_SERVER_ERROR.getStatusCode(), e.getMessage()).build(); diff --git a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/v2/FunctionApiV2Resource.java b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/v2/FunctionApiV2Resource.java index 95fe687..6c6fb18 100644 --- a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/v2/FunctionApiV2Resource.java +++ b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/v2/FunctionApiV2Resource.java @@ -104,7 +104,7 @@ public class FunctionApiV2Resource extends FunctionApiResource { final @PathParam("functionName") String functionName, final @PathParam("instanceId") String instanceId) throws IOException { return functions.getFunctionInstanceStatus( - tenant, namespace, functionName, instanceId); + tenant, namespace, functionName, instanceId, uri.getRequestUri()); } @GET