Skip to content

Commit

Permalink
Fix Flaky Test SpecificClusterManagerNodesIT.testElectOnlyBetweenClus…
Browse files Browse the repository at this point in the history
…terManagerNodes

Signed-off-by: kkewwei <kewei.11@bytedance.com>
Signed-off-by: kkewwei <kkewwei@163.com>
  • Loading branch information
kkewwei committed Jan 12, 2025
1 parent 5afb92f commit d2c4d60
Showing 1 changed file with 12 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
import org.opensearch.test.OpenSearchIntegTestCase.Scope;

import java.io.IOException;
import java.util.function.Supplier;

import static org.opensearch.test.NodeRoles.clusterManagerNode;
import static org.opensearch.test.NodeRoles.dataOnlyNode;
Expand Down Expand Up @@ -254,9 +255,9 @@ public void testElectOnlyBetweenClusterManagerNodes() throws Exception {
logger.info("--> closing cluster-manager node (1)");
client().execute(AddVotingConfigExclusionsAction.INSTANCE, new AddVotingConfigExclusionsRequest(clusterManagerNodeName)).get();
// removing the cluster-manager from the voting configuration immediately triggers the cluster-manager to step down
assertBusy(() -> {
assertThat(
internalCluster().nonClusterManagerClient()
Supplier<String> getClusterManagerIfElected = () -> {
try {
return internalCluster().nonClusterManagerClient()
.admin()
.cluster()
.prepareState()
Expand All @@ -265,9 +266,14 @@ public void testElectOnlyBetweenClusterManagerNodes() throws Exception {
.getState()
.nodes()
.getClusterManagerNode()
.getName(),
equalTo(nextClusterManagerEligableNodeName)
);
.getName();
} catch (Exception e) {
logger.debug("failed to get cluster-manager name", e);
return null;
}
};
assertBusy(() -> {
assertThat(getClusterManagerIfElected.get(), equalTo(nextClusterManagerEligableNodeName));
assertThat(
internalCluster().clusterManagerClient()
.admin()
Expand Down

0 comments on commit d2c4d60

Please sign in to comment.