2323
2424import static org .elasticsearch .client .RestClient .IGNORE_RESPONSE_CODES_PARAM ;
2525import static org .elasticsearch .upgrades .SnapshotBasedRecoveryIT .indexDocs ;
26+ import static org .hamcrest .Matchers .containsInAnyOrder ;
2627import static org .hamcrest .Matchers .empty ;
2728import static org .hamcrest .Matchers .equalTo ;
29+ import static org .hamcrest .Matchers .hasSize ;
2830import static org .hamcrest .Matchers .not ;
2931
3032public 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