This is an automated email from the ASF dual-hosted git repository.

jxue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git


The following commit(s) were added to refs/heads/master by this push:
     new 06d1c2b  fix input issue for stoppable rest API (#1905)
06d1c2b is described below

commit 06d1c2b0cd00192cc1486aca68cbf8921cb0fdc0
Author: xyuanlu <[email protected]>
AuthorDate: Tue Nov 16 17:10:57 2021 -0800

    fix input issue for stoppable rest API (#1905)
---
 .../apache/helix/rest/server/resources/helix/InstancesAccessor.java    | 2 +-
 .../apache/helix/rest/server/resources/helix/PerInstanceAccessor.java  | 3 +--
 .../java/org/apache/helix/rest/server/service/InstanceServiceImpl.java | 3 +++
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git 
a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java
 
b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java
index 233cc54..46e20a7 100644
--- 
a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java
+++ 
b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/InstancesAccessor.java
@@ -211,7 +211,7 @@ public class InstancesAccessor extends 
AbstractHelixResource {
       List<String> orderOfZone = null;
       String customizedInput = null;
       if 
(node.get(InstancesAccessor.InstancesProperties.customized_values.name()) != 
null) {
-        customizedInput = 
node.get(InstancesAccessor.InstancesProperties.customized_values.name()).textValue();
+        customizedInput = 
node.get(InstancesAccessor.InstancesProperties.customized_values.name()).toString();
       }
 
       if (node.get(InstancesAccessor.InstancesProperties.zone_order.name()) != 
null) {
diff --git 
a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java
 
b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java
index 0367e63..02ed063 100644
--- 
a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java
+++ 
b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/PerInstanceAccessor.java
@@ -46,7 +46,6 @@ import org.apache.helix.ConfigAccessor;
 import org.apache.helix.HelixAdmin;
 import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.HelixException;
-import org.apache.helix.PropertyKey;
 import org.apache.helix.manager.zk.ZKHelixDataAccessor;
 import org.apache.helix.model.CurrentState;
 import org.apache.helix.model.Error;
@@ -173,7 +172,7 @@ public class PerInstanceAccessor extends 
AbstractHelixResource {
 
       String customizedInput = null;
       if 
(node.get(InstancesAccessor.InstancesProperties.customized_values.name()) != 
null) {
-        customizedInput = 
node.get(InstancesAccessor.InstancesProperties.customized_values.name()).textValue();
+        customizedInput = 
node.get(InstancesAccessor.InstancesProperties.customized_values.name()).toString();
       }
 
       stoppableCheck =
diff --git 
a/helix-rest/src/main/java/org/apache/helix/rest/server/service/InstanceServiceImpl.java
 
b/helix-rest/src/main/java/org/apache/helix/rest/server/service/InstanceServiceImpl.java
index 6cc5592..d76d25b 100644
--- 
a/helix-rest/src/main/java/org/apache/helix/rest/server/service/InstanceServiceImpl.java
+++ 
b/helix-rest/src/main/java/org/apache/helix/rest/server/service/InstanceServiceImpl.java
@@ -318,6 +318,9 @@ public class InstanceServiceImpl implements InstanceService 
{
 
   private Map<String, String> getCustomPayLoads(String jsonContent) throws 
IOException {
     Map<String, String> result = new HashMap<>();
+    if (jsonContent == null) {
+      return result;
+    }
     JsonNode jsonNode = OBJECT_MAPPER.readTree(jsonContent);
     // parsing the inputs as string key value pairs
     jsonNode.fields().forEachRemaining(kv -> result.put(kv.getKey(), 
kv.getValue().asText()));

Reply via email to