import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import java.io.File;
import java.io.FileInputStream;
@After
public void tearDown() {
- for(MemberNode m: memberNodes) {
+ for (MemberNode m : Lists.reverse(memberNodes)) {
m.cleanup();
}
+ memberNodes.clear();
}
@Test
verifyRaftPeersPresent(replicaNode3.configDataStore(), "cars", "member-1", "member-2");
replicaNode2.waitForMembersUp("member-1", "member-3");
- replicaNode2.waitForMembersUp("member-1", "member-2");
+ replicaNode3.waitForMembersUp("member-1", "member-2");
// Invoke RPC service on leader member-1 to remove it's local shard
moduleShardsConfig(moduleShardsConfig).build();
leaderNode1.configDataStore().waitTillReady();
+ replicaNode3.configDataStore().waitTillReady();
verifyRaftPeersPresent(leaderNode1.configDataStore(), "cars", "member-2", "member-3");
verifyRaftPeersPresent(replicaNode2.configDataStore(), "cars", "member-1", "member-3");
verifyRaftPeersPresent(replicaNode3.configDataStore(), "cars", "member-1", "member-2");
leaderNode1.configDataStore().waitTillReady();
leaderNode1.operDataStore().waitTillReady();
+ replicaNode3.configDataStore().waitTillReady();
+ replicaNode3.operDataStore().waitTillReady();
verifyRaftPeersPresent(leaderNode1.configDataStore(), "cars", "member-2", "member-3");
verifyRaftPeersPresent(replicaNode2.configDataStore(), "cars", "member-1", "member-3");
verifyRaftPeersPresent(replicaNode3.configDataStore(), "cars", "member-1", "member-2");
leaderNode1.configDataStore().waitTillReady();
leaderNode1.operDataStore().waitTillReady();
+ replicaNode3.configDataStore().waitTillReady();
+ replicaNode3.operDataStore().waitTillReady();
verifyVotingStates(leaderNode1.configDataStore(), "cars", new SimpleEntry<>("member-1", true),
new SimpleEntry<>("member-2", true), new SimpleEntry<>("member-3", false));