Skip to content

Commit 1836b8d

Browse files
committed
simplify finding the 1st upgraded node
1 parent 101bd2d commit 1836b8d

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

qa/rolling-upgrade/src/javaRestTest/java/org/elasticsearch/upgrades/RunningSnapshotIT.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@
2323

2424
import static org.elasticsearch.client.RestClient.IGNORE_RESPONSE_CODES_PARAM;
2525
import static org.elasticsearch.upgrades.SnapshotBasedRecoveryIT.indexDocs;
26+
import static org.hamcrest.Matchers.containsInAnyOrder;
2627
import static org.hamcrest.Matchers.empty;
2728
import static org.hamcrest.Matchers.equalTo;
29+
import static org.hamcrest.Matchers.hasSize;
2830
import static org.hamcrest.Matchers.not;
2931

3032
public class RunningSnapshotIT extends AbstractRollingUpgradeTestCase {
@@ -38,9 +40,10 @@ public void testRunningSnapshotCompleteAfterUpgrade() throws Exception {
3840
final String repositoryName = "repo";
3941
final String snapshotName = "snapshot";
4042
final Map<String, Map<?, ?>> nodesInfo = getNodesInfo(client());
41-
final var nodeIdToBuildHashes = nodesInfo.entrySet()
43+
final var nodeIdToNodeNames = nodesInfo.entrySet()
4244
.stream()
43-
.collect(Collectors.toUnmodifiableMap(Map.Entry::getKey, entry -> entry.getValue().get("build_hash").toString()));
45+
.collect(Collectors.toUnmodifiableMap(Map.Entry::getKey, entry -> entry.getValue().get("name").toString()));
46+
assertThat(nodeIdToNodeNames.values(), containsInAnyOrder("test-cluster-0", "test-cluster-1", "test-cluster-2"));
4447

4548
if (isOldCluster()) {
4649
registerRepository(repositoryName, "fs", randomBoolean(), Settings.builder().put("location", "backup").build());
@@ -52,25 +55,23 @@ public void testRunningSnapshotCompleteAfterUpgrade() throws Exception {
5255
}
5356
flush(indexName, true);
5457
// Signal shutdown to prevent snapshot from being completed
55-
putShutdownMetadata(nodeIdToBuildHashes.keySet());
58+
putShutdownMetadata(nodeIdToNodeNames.keySet());
5659
createSnapshot(repositoryName, snapshotName, false);
5760
assertRunningSnapshot(repositoryName, snapshotName);
5861
} else {
5962
if (isUpgradedCluster()) {
60-
deleteShutdownMetadata(nodeIdToBuildHashes.keySet());
61-
assertNoShutdownMetadata(nodeIdToBuildHashes.keySet());
63+
deleteShutdownMetadata(nodeIdToNodeNames.keySet());
64+
assertNoShutdownMetadata(nodeIdToNodeNames.keySet());
6265
ensureGreen(indexName);
6366
assertBusy(() -> assertCompletedSnapshot(repositoryName, snapshotName));
6467
} else {
65-
final var buildHashToNodeIds = nodeIdToBuildHashes.entrySet()
66-
.stream()
67-
.collect(Collectors.groupingBy(Map.Entry::getValue, Collectors.mapping(Map.Entry::getKey, Collectors.toSet())));
6868
if (isFirstMixedCluster()) {
69-
final var upgradedNodeIds = buildHashToNodeIds.values()
69+
final var upgradedNodeIds = nodeIdToNodeNames.entrySet()
7070
.stream()
71-
.filter(strings -> strings.size() == 1)
72-
.findFirst()
73-
.orElseThrow(() -> new AssertionError("expect one upgraded node, but got " + buildHashToNodeIds));
71+
.filter(entry -> "test-cluster-0".equals(entry.getValue()))
72+
.map(Map.Entry::getKey)
73+
.collect(Collectors.toUnmodifiableSet());
74+
assertThat(upgradedNodeIds, hasSize(1));
7475
deleteShutdownMetadata(upgradedNodeIds);
7576
}
7677
assertRunningSnapshot(repositoryName, snapshotName);

0 commit comments

Comments
 (0)