You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by sa...@apache.org on 2019/05/17 17:02:52 UTC
[pulsar] branch master updated: Misc fixes for state querying via
pulsar admin (#4293)
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 <sa...@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);