You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by jx...@apache.org on 2021/09/24 17:46:31 UTC

[helix] branch master updated: Fix inconsistent behavior beween batch stoppable and single stoppable API (#1879)

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 b964814  Fix inconsistent behavior beween batch stoppable and single stoppable API (#1879)
b964814 is described below

commit b964814d33f3920c861c7c6650c5ab6fb6237cbe
Author: Junkai Xue <jx...@linkedin.com>
AuthorDate: Fri Sep 24 10:46:23 2021 -0700

    Fix inconsistent behavior beween batch stoppable and single stoppable API (#1879)
---
 .../rest/server/resources/helix/PerInstanceAccessor.java  | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

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 f7bb2af..0367e63 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
@@ -163,8 +163,21 @@ public class PerInstanceAccessor extends AbstractHelixResource {
             continueOnFailures, getNamespace());
     StoppableCheck stoppableCheck;
     try {
+      JsonNode node = null;
+      if (jsonContent.length() != 0) {
+        node = OBJECT_MAPPER.readTree(jsonContent);
+      }
+      if (node == null) {
+        return badRequest("Invalid input for content : " + jsonContent);
+      }
+
+      String customizedInput = null;
+      if (node.get(InstancesAccessor.InstancesProperties.customized_values.name()) != null) {
+        customizedInput = node.get(InstancesAccessor.InstancesProperties.customized_values.name()).textValue();
+      }
+
       stoppableCheck =
-          instanceService.getInstanceStoppableCheck(clusterId, instanceName, jsonContent);
+          instanceService.getInstanceStoppableCheck(clusterId, instanceName, customizedInput);
     } catch (HelixException e) {
       LOG.error("Current cluster: {}, instance: {} has issue with health checks!", clusterId,
           instanceName, e);