diff --git a/server/src/internalClusterTest/java/org/opensearch/remotemigration/RemotePrimaryLocalRecoveryIT.java b/server/src/internalClusterTest/java/org/opensearch/remotemigration/RemotePrimaryLocalRecoveryIT.java index 8ab093b8495cb..28d04667541d6 100644 --- a/server/src/internalClusterTest/java/org/opensearch/remotemigration/RemotePrimaryLocalRecoveryIT.java +++ b/server/src/internalClusterTest/java/org/opensearch/remotemigration/RemotePrimaryLocalRecoveryIT.java @@ -111,7 +111,7 @@ public void testLocalRecoveryFlowWithReplicas() throws Exception { */ private void triggerRollingRestartForRemoteMigration(int replicaCount) throws Exception { internalCluster().startClusterManagerOnlyNodes(3); - internalCluster().startNodes(numOfNodes - 3); + internalCluster().startDataOnlyNodes(numOfNodes - 3); // create index Settings indexSettings = Settings.builder() @@ -133,13 +133,16 @@ private void triggerRollingRestartForRemoteMigration(int replicaCount) throws Ex REPOSITORY_2_NAME, translogRepoPath ); - internalCluster().rollingRestart(new InternalTestCluster.RestartCallback() { - // Update remote attributes - @Override - public Settings onNodeStopped(String nodeName) { - return remoteNodeAttributes; - } - }); + // restarts only data nodes. + for (String nodeName : internalCluster().getDataNodeNames()) { + internalCluster().restartNode(nodeName, new InternalTestCluster.RestartCallback() { + // Update remote attributes + @Override + public Settings onNodeStopped(String nodeName) { + return remoteNodeAttributes; + } + }); + } ensureStableCluster(numOfNodes); ensureGreen(TimeValue.timeValueSeconds(90), indexName); assertEquals(internalCluster().size(), numOfNodes);