This is an automated email from the ASF dual-hosted git repository.
hzlu pushed a commit to branch cluster-pause-mode
in repository https://gitbox.apache.org/repos/asf/helix.git
The following commit(s) were added to refs/heads/cluster-pause-mode by this
push:
new 8ee40d9 Refactor freeze mode naming and getStatus default value
(#1818)
8ee40d9 is described below
commit 8ee40d931be82d20554bd90f971d74a41c8e90c8
Author: Huizhi Lu <[email protected]>
AuthorDate: Wed Jul 14 19:32:27 2021 -0700
Refactor freeze mode naming and getStatus default value (#1818)
Rename CLUSTER_PAUSE with CLUSTER_FREEZE mode.
Change default return value for LiveInstance#getStatus(): null -> NORMAL.
And fix tests accordingly.
---
.../helix/api/status/ClusterManagementMode.java | 6 +++---
.../stages/ManagementMessageGenerationPhase.java | 4 +---
.../helix/controller/stages/ManagementModeStage.java | 8 +++-----
.../org/apache/helix/manager/zk/ZKHelixAdmin.java | 2 +-
.../helix/messaging/handling/HelixTaskExecutor.java | 3 ++-
.../java/org/apache/helix/model/LiveInstance.java | 6 ++++--
.../stages/TestManagementMessageGeneration.java | 2 +-
.../controller/stages/TestManagementModeStage.java | 4 ++--
.../integration/controller/TestClusterFreezeMode.java | 10 +++++-----
.../integration/paticipant/TestParticipantFreeze.java | 15 +++++++++------
.../org/apache/helix/manager/zk/TestZkHelixAdmin.java | 4 ++--
.../helix/model/TestControllerHistoryModel.java | 2 +-
.../java/org/apache/helix/model/TestLiveInstance.java | 4 +++-
.../rest/server/resources/helix/ClusterAccessor.java | 4 ++--
.../apache/helix/rest/server/TestClusterAccessor.java | 19 ++++++++++---------
15 files changed, 49 insertions(+), 44 deletions(-)
diff --git
a/helix-core/src/main/java/org/apache/helix/api/status/ClusterManagementMode.java
b/helix-core/src/main/java/org/apache/helix/api/status/ClusterManagementMode.java
index 86817d1..a342a8c 100644
---
a/helix-core/src/main/java/org/apache/helix/api/status/ClusterManagementMode.java
+++
b/helix-core/src/main/java/org/apache/helix/api/status/ClusterManagementMode.java
@@ -33,10 +33,10 @@ public class ClusterManagementMode {
NORMAL,
/**
- * Puts a cluster into pause mode, which will pause controller and
participants.
+ * Puts a cluster into freeze mode, which will freeze controller and
participants.
* This can be used to retain the cluster state.
*/
- CLUSTER_PAUSE,
+ CLUSTER_FREEZE,
/** Pause controller only, but not participants. */
CONTROLLER_PAUSE,
@@ -88,7 +88,7 @@ public class ClusterManagementMode {
*/
public LiveInstance.LiveInstanceStatus getDesiredParticipantStatus() {
switch (mode) {
- case CLUSTER_PAUSE:
+ case CLUSTER_FREEZE:
return LiveInstance.LiveInstanceStatus.PAUSED;
case NORMAL:
return LiveInstance.LiveInstanceStatus.NORMAL;
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/stages/ManagementMessageGenerationPhase.java
b/helix-core/src/main/java/org/apache/helix/controller/stages/ManagementMessageGenerationPhase.java
index c795deb..4479d50 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/stages/ManagementMessageGenerationPhase.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/stages/ManagementMessageGenerationPhase.java
@@ -96,9 +96,7 @@ public class ManagementMessageGenerationPhase extends
MessageGenerationPhase {
LiveInstance liveInstance = liveInstanceMap.get(instanceName);
Collection<Message> pendingMessages =
allInstanceMessages.get(instanceName);
String sessionId = liveInstance.getEphemeralOwner();
- LiveInstanceStatus liveInstanceStatus = liveInstance.getStatus();
- LiveInstanceStatus currentStatus = (liveInstanceStatus == null
- ? LiveInstanceStatus.NORMAL : liveInstanceStatus);
+ LiveInstanceStatus currentStatus = liveInstance.getStatus();
if (needStatusChangeMessage(pendingMessages, currentStatus,
desiredStatus)) {
Message statusChangeMessage =
MessageUtil.createStatusChangeMessage(currentStatus,
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/stages/ManagementModeStage.java
b/helix-core/src/main/java/org/apache/helix/controller/stages/ManagementModeStage.java
index b639685..55a320a 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/stages/ManagementModeStage.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/stages/ManagementModeStage.java
@@ -30,7 +30,6 @@ import org.apache.helix.HelixManager;
import org.apache.helix.PropertyKey;
import org.apache.helix.PropertyType;
import org.apache.helix.api.status.ClusterManagementMode;
-import org.apache.helix.controller.LogUtil;
import
org.apache.helix.controller.dataproviders.ManagementControllerDataProvider;
import org.apache.helix.controller.pipeline.AbstractBaseStage;
import org.apache.helix.controller.pipeline.StageException;
@@ -40,7 +39,6 @@ import org.apache.helix.model.LiveInstance;
import org.apache.helix.model.LiveInstance.LiveInstanceStatus;
import org.apache.helix.model.Message;
import org.apache.helix.model.Message.MessageType;
-import org.apache.helix.model.Partition;
import org.apache.helix.model.PauseSignal;
import org.apache.helix.model.Resource;
import org.apache.helix.util.HelixUtil;
@@ -104,7 +102,7 @@ public class ManagementModeStage extends AbstractBaseStage {
status = ClusterManagementMode.Status.IN_PROGRESS;
}
} else if (pauseSignal.isClusterPause()) {
- type = ClusterManagementMode.Type.CLUSTER_PAUSE;
+ type = ClusterManagementMode.Type.CLUSTER_FREEZE;
if (!instancesFullyFrozen(enabledLiveInstances, liveInstanceMap,
allInstanceMessages)) {
status = ClusterManagementMode.Status.IN_PROGRESS;
}
@@ -144,9 +142,9 @@ public class ManagementModeStage extends AbstractBaseStage {
// If there is any pending message sent by users, status could be computed
as in progress.
// Skip recording status change to avoid confusion after cluster is
already fully frozen.
- if (ClusterManagementMode.Type.CLUSTER_PAUSE.equals(recordedType)
+ if (ClusterManagementMode.Type.CLUSTER_FREEZE.equals(recordedType)
&& ClusterManagementMode.Status.COMPLETED.equals(recordedStatus)
- && ClusterManagementMode.Type.CLUSTER_PAUSE.equals(mode.getMode())
+ && ClusterManagementMode.Type.CLUSTER_FREEZE.equals(mode.getMode())
&& ClusterManagementMode.Status.IN_PROGRESS.equals(mode.getStatus())) {
LOG.info("Skip recording status mode={}, status={}, because cluster is
fully frozen",
mode.getMode(), mode.getStatus());
diff --git
a/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
b/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
index 73c699e..05bef08 100644
--- a/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
+++ b/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
@@ -509,7 +509,7 @@ public class ZKHelixAdmin implements HelixAdmin {
// TODO: support other modes
switch (mode) {
- case CLUSTER_PAUSE:
+ case CLUSTER_FREEZE:
enableClusterPauseMode(clusterName, request.isCancelPendingST(),
reason);
break;
case NORMAL:
diff --git
a/helix-core/src/main/java/org/apache/helix/messaging/handling/HelixTaskExecutor.java
b/helix-core/src/main/java/org/apache/helix/messaging/handling/HelixTaskExecutor.java
index ff970c2..11badac 100644
---
a/helix-core/src/main/java/org/apache/helix/messaging/handling/HelixTaskExecutor.java
+++
b/helix-core/src/main/java/org/apache/helix/messaging/handling/HelixTaskExecutor.java
@@ -187,6 +187,7 @@ public class HelixTaskExecutor implements MessageListener,
TaskExecutor {
_timer = new Timer("HelixTaskExecutor_Timer", true);
_isShuttingDown = false;
+ _liveInstanceStatus = LiveInstanceStatus.NORMAL;
startMonitorThread();
}
@@ -1370,7 +1371,7 @@ public class HelixTaskExecutor implements
MessageListener, TaskExecutor {
manager.getStateMachineEngine(), false);
}
_freezeSessionId = null;
- _liveInstanceStatus = null;
+ _liveInstanceStatus = toStatus;
success = accessor.getBaseDataAccessor().update(path, record -> {
// Remove the status field for backwards compatibility
record.getSimpleFields().remove(LiveInstance.LiveInstanceProperty.STATUS.name());
diff --git a/helix-core/src/main/java/org/apache/helix/model/LiveInstance.java
b/helix-core/src/main/java/org/apache/helix/model/LiveInstance.java
index fed2940..e711fea 100644
--- a/helix-core/src/main/java/org/apache/helix/model/LiveInstance.java
+++ b/helix-core/src/main/java/org/apache/helix/model/LiveInstance.java
@@ -142,10 +142,12 @@ public class LiveInstance extends HelixProperty {
}
/**
- * Gets the live instance's status. Returns null if the status field is not
set.
+ * Gets the live instance's status. Returns {@link
LiveInstanceStatus#NORMAL} if the status
+ * field is not set.
*/
public LiveInstanceStatus getStatus() {
- return _record.getEnumField(LiveInstanceProperty.STATUS.name(),
LiveInstanceStatus.class, null);
+ return _record.getEnumField(LiveInstanceProperty.STATUS.name(),
LiveInstanceStatus.class,
+ LiveInstanceStatus.NORMAL);
}
/**
diff --git
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestManagementMessageGeneration.java
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestManagementMessageGeneration.java
index c16b503..7c20b02 100644
---
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestManagementMessageGeneration.java
+++
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestManagementMessageGeneration.java
@@ -128,7 +128,7 @@ public class TestManagementMessageGeneration extends
ManagementMessageGeneration
RebalanceUtil.buildBestPossibleState(resourceMap.keySet(),
currentStateOutput);
// Process the event
- ClusterManagementMode mode = new
ClusterManagementMode(ClusterManagementMode.Type.CLUSTER_PAUSE,
+ ClusterManagementMode mode = new
ClusterManagementMode(ClusterManagementMode.Type.CLUSTER_FREEZE,
ClusterManagementMode.Status.IN_PROGRESS);
event.addAttribute(AttributeName.BEST_POSSIBLE_STATE.name(),
bestPossibleStateOutput);
event.addAttribute(AttributeName.CLUSTER_STATUS.name(), mode);
diff --git
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestManagementModeStage.java
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestManagementModeStage.java
index 2737bf7..1be5c6b 100644
---
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestManagementModeStage.java
+++
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestManagementModeStage.java
@@ -76,7 +76,7 @@ public class TestManagementModeStage extends ZkTestBase {
// Freeze cluster
ClusterManagementModeRequest request =
ClusterManagementModeRequest.newBuilder()
.withClusterName(_clusterName)
- .withMode(ClusterManagementMode.Type.CLUSTER_PAUSE)
+ .withMode(ClusterManagementMode.Type.CLUSTER_FREEZE)
.withReason("test")
.build();
_gSetupTool.getClusterManagementTool().setClusterManagementMode(request);
@@ -91,7 +91,7 @@ public class TestManagementModeStage extends ZkTestBase {
// In frozen mode
ClusterStatus clusterStatus =
_accessor.getProperty(_accessor.keyBuilder().clusterStatus());
- Assert.assertEquals(clusterStatus.getManagementMode(),
ClusterManagementMode.Type.CLUSTER_PAUSE);
+ Assert.assertEquals(clusterStatus.getManagementMode(),
ClusterManagementMode.Type.CLUSTER_FREEZE);
// Mark a live instance to be pause state
diff --git
a/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterFreezeMode.java
b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterFreezeMode.java
index cbc8535..afaea91 100644
---
a/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterFreezeMode.java
+++
b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterFreezeMode.java
@@ -153,7 +153,7 @@ public class TestClusterFreezeMode extends ZkTestBase {
// Freeze cluster
ClusterManagementModeRequest request =
ClusterManagementModeRequest.newBuilder()
.withClusterName(_clusterName)
- .withMode(ClusterManagementMode.Type.CLUSTER_PAUSE)
+ .withMode(ClusterManagementMode.Type.CLUSTER_FREEZE)
.withReason(methodName)
.build();
_gSetupTool.getClusterManagementTool().setClusterManagementMode(request);
@@ -164,7 +164,7 @@ public class TestClusterFreezeMode extends ZkTestBase {
// Cluster is in progress to cluster pause because there is a pending
state transition message
ClusterStatus expectedClusterStatus = new ClusterStatus();
-
expectedClusterStatus.setManagementMode(ClusterManagementMode.Type.CLUSTER_PAUSE);
+
expectedClusterStatus.setManagementMode(ClusterManagementMode.Type.CLUSTER_FREEZE);
expectedClusterStatus.setManagementModeStatus(ClusterManagementMode.Status.IN_PROGRESS);
verifyClusterStatus(expectedClusterStatus);
@@ -175,7 +175,7 @@ public class TestClusterFreezeMode extends ZkTestBase {
verifyLiveInstanceStatus(_participants,
LiveInstance.LiveInstanceStatus.PAUSED);
expectedClusterStatus = new ClusterStatus();
-
expectedClusterStatus.setManagementMode(ClusterManagementMode.Type.CLUSTER_PAUSE);
+
expectedClusterStatus.setManagementMode(ClusterManagementMode.Type.CLUSTER_FREEZE);
expectedClusterStatus.setManagementModeStatus(ClusterManagementMode.Status.COMPLETED);
verifyClusterStatus(expectedClusterStatus);
@@ -187,7 +187,7 @@ public class TestClusterFreezeMode extends ZkTestBase {
return false;
}
String lastHistory = managementHistory.get(managementHistory.size() - 1);
- return lastHistory.contains("MODE=" +
ClusterManagementMode.Type.CLUSTER_PAUSE)
+ return lastHistory.contains("MODE=" +
ClusterManagementMode.Type.CLUSTER_FREEZE)
&& lastHistory.contains("STATUS=" +
ClusterManagementMode.Status.COMPLETED)
&& lastHistory.contains("REASON=" + methodName);
}, TestHelper.WAIT_DURATION));
@@ -303,7 +303,7 @@ public class TestClusterFreezeMode extends ZkTestBase {
.build();
_gSetupTool.getClusterManagementTool().setClusterManagementMode(request);
- verifyLiveInstanceStatus(_participants, null);
+ verifyLiveInstanceStatus(_participants,
LiveInstance.LiveInstanceStatus.NORMAL);
ClusterStatus expectedClusterStatus = new ClusterStatus();
expectedClusterStatus.setManagementMode(ClusterManagementMode.Type.NORMAL);
diff --git
a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestParticipantFreeze.java
b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestParticipantFreeze.java
index fedee37..1eb760e 100644
---
a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestParticipantFreeze.java
+++
b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestParticipantFreeze.java
@@ -117,7 +117,9 @@ public class TestParticipantFreeze extends ZkTestBase {
@Test
public void testNormalLiveInstanceStatus() {
LiveInstance liveInstance =
_accessor.getProperty(_keyBuilder.liveInstance(_instanceName));
- Assert.assertNull(liveInstance.getStatus());
+ Assert.assertEquals(liveInstance.getStatus(),
LiveInstance.LiveInstanceStatus.NORMAL);
+ Assert.assertNull(
+
liveInstance.getRecord().getSimpleField(LiveInstance.LiveInstanceProperty.STATUS.name()));
}
@Test(dependsOnMethods = "testNormalLiveInstanceStatus")
@@ -151,7 +153,7 @@ public class TestParticipantFreeze extends ZkTestBase {
// New live instance ephemeral node
Assert.assertEquals(liveInstance.getEphemeralOwner(),
_participants[1].getSessionId());
// Status is not frozen because controller is not running, no freeze
message sent.
- verifyLiveInstanceStatus(_participants[1], null);
+ verifyLiveInstanceStatus(_participants[1],
LiveInstance.LiveInstanceStatus.NORMAL);
// Old session current state is deleted because of current state carry-over
Assert.assertTrue(TestHelper.verify(
@@ -221,7 +223,7 @@ public class TestParticipantFreeze extends ZkTestBase {
// Live instance status is NORMAL, but set to null value in both memory
and zk.
// After live instance status is updated, the process is completed.
- verifyLiveInstanceStatus(_participants[0], null);
+ verifyLiveInstanceStatus(_participants[0],
LiveInstance.LiveInstanceStatus.NORMAL);
// Unfreeze message is correctly deleted
Assert.assertNull(
_accessor.getProperty(_keyBuilder.message(_instanceName,
unfreezeMessage.getId())));
@@ -242,7 +244,7 @@ public class TestParticipantFreeze extends ZkTestBase {
private void verifyLiveInstanceStatus(MockParticipantManager participant,
LiveInstance.LiveInstanceStatus status) throws Exception {
- // Live instance status is frozen in both memory and zk
+ // Verify live instance status in both memory and zk
Assert.assertTrue(TestHelper.verify(() -> {
LiveInstance.LiveInstanceStatus inMemoryLiveInstanceStatus =
((DefaultMessagingService)
participant.getMessagingService()).getExecutor()
@@ -285,7 +287,8 @@ public class TestParticipantFreeze extends ZkTestBase {
// Live instance status is frozen in both memory and zk
verifyLiveInstanceStatus(participant,
LiveInstance.LiveInstanceStatus.PAUSED);
// Freeze message is correctly deleted
- Assert.assertNull(_accessor
- .getProperty(_keyBuilder.message(participant.getInstanceName(),
freezeMessage.getId())));
+ Assert.assertTrue(TestHelper.verify(() -> !_gZkClient.exists(
+ _keyBuilder.message(participant.getInstanceName(),
freezeMessage.getId()).getPath()),
+ TestHelper.WAIT_DURATION));
}
}
diff --git
a/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkHelixAdmin.java
b/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkHelixAdmin.java
index 7ddf677..968a5d4 100644
--- a/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkHelixAdmin.java
+++ b/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkHelixAdmin.java
@@ -1087,7 +1087,7 @@ public class TestZkHelixAdmin extends ZkUnitTestBase {
try {
ClusterManagementModeRequest request =
ClusterManagementModeRequest.newBuilder()
.withClusterName(clusterName)
- .withMode(ClusterManagementMode.Type.CLUSTER_PAUSE)
+ .withMode(ClusterManagementMode.Type.CLUSTER_FREEZE)
.withCancelPendingST(true)
.withReason(methodName)
.build();
@@ -1100,7 +1100,7 @@ public class TestZkHelixAdmin extends ZkUnitTestBase {
ClusterManagementModeRequest request =
ClusterManagementModeRequest.newBuilder()
.withClusterName(clusterName)
- .withMode(ClusterManagementMode.Type.CLUSTER_PAUSE)
+ .withMode(ClusterManagementMode.Type.CLUSTER_FREEZE)
.withReason(methodName)
.build();
_gSetupTool.getClusterManagementTool().setClusterManagementMode(request);
diff --git
a/helix-core/src/test/java/org/apache/helix/model/TestControllerHistoryModel.java
b/helix-core/src/test/java/org/apache/helix/model/TestControllerHistoryModel.java
index 2e0bab3..d77287a 100644
---
a/helix-core/src/test/java/org/apache/helix/model/TestControllerHistoryModel.java
+++
b/helix-core/src/test/java/org/apache/helix/model/TestControllerHistoryModel.java
@@ -37,7 +37,7 @@ public class TestControllerHistoryModel {
public void testManagementModeHistory() {
ControllerHistory controllerHistory = new ControllerHistory("HISTORY");
String controller = "controller-0";
- ClusterManagementMode mode = new
ClusterManagementMode(ClusterManagementMode.Type.CLUSTER_PAUSE,
+ ClusterManagementMode mode = new
ClusterManagementMode(ClusterManagementMode.Type.CLUSTER_FREEZE,
ClusterManagementMode.Status.COMPLETED);
long time = System.currentTimeMillis();
String fromHost = NetworkUtil.getLocalhostName();
diff --git
a/helix-core/src/test/java/org/apache/helix/model/TestLiveInstance.java
b/helix-core/src/test/java/org/apache/helix/model/TestLiveInstance.java
index 18285f5..b8024bb 100644
--- a/helix-core/src/test/java/org/apache/helix/model/TestLiveInstance.java
+++ b/helix-core/src/test/java/org/apache/helix/model/TestLiveInstance.java
@@ -150,7 +150,9 @@ public class TestLiveInstance extends ZkUnitTestBase {
@Test
public void testLiveInstanceStatus() {
LiveInstance testLiveInstance = new LiveInstance("testLiveInstanceStatus");
- Assert.assertNull(testLiveInstance.getStatus());
+ Assert.assertNull(testLiveInstance.getRecord()
+ .getSimpleField(LiveInstance.LiveInstanceProperty.STATUS.name()));
+ Assert.assertEquals(testLiveInstance.getStatus(),
LiveInstance.LiveInstanceStatus.NORMAL);
testLiveInstance.setStatus(LiveInstance.LiveInstanceStatus.PAUSED);
Assert.assertEquals(testLiveInstance.getStatus(),
LiveInstance.LiveInstanceStatus.PAUSED);
}
diff --git
a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java
b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java
index 9efcdc7..552a530 100644
---
a/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java
+++
b/helix-rest/src/main/java/org/apache/helix/rest/server/resources/helix/ClusterAccessor.java
@@ -344,7 +344,7 @@ public class ClusterAccessor extends AbstractHelixResource {
List<LiveInstance> liveInstances =
accessor.getChildValues(keyBuilder.liveInstances());
BaseDataAccessor<ZNRecord> baseAccessor = accessor.getBaseDataAccessor();
- if (ClusterManagementMode.Type.CLUSTER_PAUSE.equals(mode.getMode())) {
+ if (ClusterManagementMode.Type.CLUSTER_FREEZE.equals(mode.getMode())) {
// Entering cluster freeze mode, check live instance freeze status and
pending ST
for (LiveInstance liveInstance : liveInstances) {
String instanceName = liveInstance.getInstanceName();
@@ -370,7 +370,7 @@ public class ClusterAccessor extends AbstractHelixResource {
participantDetails.put("status", status.name());
participantDetails.put("liveInstancesInProgress", liveInstancesInProgress);
- if (ClusterManagementMode.Type.CLUSTER_PAUSE.equals(mode.getMode())) {
+ if (ClusterManagementMode.Type.CLUSTER_FREEZE.equals(mode.getMode())) {
// Add pending ST result for cluster freeze mode
participantDetails.put("hasPendingStateTransition", hasPendingST);
}
diff --git
a/helix-rest/src/test/java/org/apache/helix/rest/server/TestClusterAccessor.java
b/helix-rest/src/test/java/org/apache/helix/rest/server/TestClusterAccessor.java
index 8d2de70..8b8f38a 100644
---
a/helix-rest/src/test/java/org/apache/helix/rest/server/TestClusterAccessor.java
+++
b/helix-rest/src/test/java/org/apache/helix/rest/server/TestClusterAccessor.java
@@ -1302,7 +1302,7 @@ public class TestClusterAccessor extends
AbstractTestClass {
// Set cluster pause mode
ClusterManagementModeRequest request =
ClusterManagementModeRequest.newBuilder()
- .withMode(ClusterManagementMode.Type.CLUSTER_PAUSE)
+ .withMode(ClusterManagementMode.Type.CLUSTER_FREEZE)
.withClusterName(cluster)
.build();
String payload = OBJECT_MAPPER.writeValueAsString(request);
@@ -1321,22 +1321,23 @@ public class TestClusterAccessor extends
AbstractTestClass {
// Verify get cluster status
String body = get(endpoint, null, Response.Status.OK.getStatusCode(),
true);
- ClusterManagementMode mode =
- OBJECT_MAPPER.readerFor(ClusterManagementMode.class).readValue(body);
- Assert.assertEquals(mode.getMode(),
ClusterManagementMode.Type.CLUSTER_PAUSE);
+ Map<String, Object> responseMap =
OBJECT_MAPPER.readerFor(Map.class).readValue(body);
+ Assert.assertEquals(responseMap.get("mode"),
ClusterManagementMode.Type.CLUSTER_FREEZE.name());
// Depending on timing, it could IN_PROGRESS or COMPLETED.
// It's just to verify the rest response format is correct
-
Assert.assertTrue(ClusterManagementMode.Status.IN_PROGRESS.equals(mode.getStatus())
- || ClusterManagementMode.Status.COMPLETED.equals(mode.getStatus()));
+ String status = (String) responseMap.get("status");
+
Assert.assertTrue(ClusterManagementMode.Status.IN_PROGRESS.name().equals(status)
+ || ClusterManagementMode.Status.COMPLETED.name().equals(status));
body = get(endpoint, ImmutableMap.of("showDetails", "true"),
Response.Status.OK.getStatusCode(),
true);
- Map<String, Object> responseMap =
OBJECT_MAPPER.readerFor(Map.class).readValue(body);
+ responseMap = OBJECT_MAPPER.readerFor(Map.class).readValue(body);
Map<String, Object> detailsMap = (Map<String, Object>)
responseMap.get("details");
+ status = (String) responseMap.get("status");
Assert.assertEquals(responseMap.get("cluster"), cluster);
- Assert.assertEquals(responseMap.get("mode"), mode.getMode().name());
- Assert.assertEquals(responseMap.get("status"), mode.getStatus().name());
+ Assert.assertEquals(responseMap.get("mode"),
ClusterManagementMode.Type.CLUSTER_FREEZE.name());
+ Assert.assertEquals(responseMap.get("status"), status);
Assert.assertTrue(responseMap.containsKey("details"));
Assert.assertTrue(detailsMap.containsKey("cluster"));
Assert.assertTrue(detailsMap.containsKey("liveInstances"));