This is an automated email from the ASF dual-hosted git repository. sanjeevrk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push: new 3ea6edc Misc fixes for state querying via pulsar admin (#4293) 3ea6edc is described below commit 3ea6edc628461512c809026261a916de8b7cd0f9 Author: Sanjeev Kulkarni <sanjee...@gmail.com> AuthorDate: Fri May 17 10:02:47 2019 -0700 Misc fixes for state querying via pulsar admin (#4293) --- .../java/org/apache/pulsar/broker/admin/impl/FunctionsBase.java | 2 +- .../org/apache/pulsar/client/admin/internal/FunctionsImpl.java | 3 +-- .../src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java | 2 +- .../java/org/apache/pulsar/common/functions/FunctionState.java | 8 ++++++-- .../apache/pulsar/functions/worker/rest/api/ComponentImpl.java | 4 ++++ 5 files changed, 13 insertions(+), 6 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 86a0877..21ecd2e 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 @@ -260,7 +260,7 @@ public class FunctionsBase extends AdminResource implements Supplier<WorkerServi @GET @ApiOperation( value = "Fetch the current state associated with a Pulsar Function", - response = String.class + response = FunctionState.class ) @ApiResponses(value = { @ApiResponse(code = 400, message = "Invalid request"), diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java index 8b7dee4..2cb916d 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/FunctionsImpl.java @@ -471,8 +471,7 @@ public class FunctionsImpl extends ComponentResource implements Functions { if (!response.getStatusInfo().equals(Response.Status.OK)) { throw getApiException(response); } - String value = response.readEntity(String.class); - return new Gson().fromJson(value, new TypeToken<FunctionState>() {}.getType()); + return response.readEntity(FunctionState.class); } catch (Exception e) { throw getApiException(e); } diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java index 406c6c4..eab62d8 100644 --- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java +++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java @@ -815,7 +815,7 @@ public class CmdFunctions extends CmdBase { FunctionState functionState = admin.functions() .getFunctionState(tenant, namespace, functionName, key); Gson gson = new GsonBuilder().setPrettyPrinting().create(); - gson.toJson(functionState); + System.out.println(gson.toJson(functionState)); } catch (PulsarAdminException pae) { if (pae.getStatusCode() == 404 && watch) { System.err.println(pae.getMessage()); diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/functions/FunctionState.java b/pulsar-common/src/main/java/org/apache/pulsar/common/functions/FunctionState.java index 5062247..15bcda0 100644 --- a/pulsar-common/src/main/java/org/apache/pulsar/common/functions/FunctionState.java +++ b/pulsar-common/src/main/java/org/apache/pulsar/common/functions/FunctionState.java @@ -23,9 +23,13 @@ import com.fasterxml.jackson.annotation.JsonInclude; import lombok.*; @Getter -@AllArgsConstructor +@Setter +@Data +@EqualsAndHashCode @ToString -@JsonInclude(JsonInclude.Include.USE_DEFAULTS) +@Builder(toBuilder=true) +@NoArgsConstructor +@AllArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) public class FunctionState { private String key; diff --git a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/ComponentImpl.java b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/ComponentImpl.java index d9804e5..2dba1cd 100644 --- a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/ComponentImpl.java +++ b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/api/ComponentImpl.java @@ -1478,6 +1478,10 @@ public abstract class ComponentImpl { } } catch (RestException e) { throw e; + } catch (org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException e) { + log.error("Error while getFunctionState request @ /{}/{}/{}/{}", + tenant, namespace, functionName, key, e); + throw new RestException(Status.NOT_FOUND, e.getMessage()); } catch (Exception e) { log.error("Error while getFunctionState request @ /{}/{}/{}/{}", tenant, namespace, functionName, key, e);