2626import org .elasticsearch .cluster .routing .RoutingTable ;
2727import org .elasticsearch .common .UUIDs ;
2828import org .elasticsearch .common .settings .Settings ;
29+ import org .elasticsearch .common .util .set .Sets ;
2930import org .elasticsearch .gateway .GatewayService ;
3031import org .elasticsearch .index .Index ;
3132import org .elasticsearch .index .IndexVersion ;
@@ -531,6 +532,7 @@ public void testProjectsDelta() {
531532 .build ();
532533 ClusterChangedEvent event = new ClusterChangedEvent ("test" , state1 , state0 );
533534 assertTrue (event .projectDelta ().hasNoChange ());
535+ assertThat (event .projectDelta ().common (), equalTo (Set .of (ProjectId .DEFAULT )));
534536
535537 // Add projects
536538 final List <ProjectId > projectIds = randomList (1 , 5 , ESTestCase ::randomUniqueProjectId );
@@ -542,6 +544,7 @@ public void testProjectsDelta() {
542544 event = new ClusterChangedEvent ("test" , state2 , state1 );
543545 assertThat (event .projectDelta ().added (), containsInAnyOrder (projectIds .toArray ()));
544546 assertThat (event .projectDelta ().removed (), empty ());
547+ assertThat (event .projectDelta ().common (), equalTo (Set .of (ProjectId .DEFAULT )));
545548
546549 // Add more projects and delete one
547550 final var removedProjectIds = randomNonEmptySubsetOf (projectIds );
@@ -561,6 +564,10 @@ public void testProjectsDelta() {
561564 event = new ClusterChangedEvent ("test" , state3 , state2 );
562565 assertThat (event .projectDelta ().added (), containsInAnyOrder (moreProjectIds .toArray ()));
563566 assertThat (event .projectDelta ().removed (), containsInAnyOrder (removedProjectIds .toArray ()));
567+ assertThat (
568+ event .projectDelta ().common (),
569+ equalTo (Sets .union (Sets .difference (Set .copyOf (projectIds ), Set .copyOf (removedProjectIds )), Set .of (ProjectId .DEFAULT )))
570+ );
564571
565572 // Remove all projects
566573 final List <ProjectId > remainingProjects = state3 .metadata ()
@@ -579,6 +586,7 @@ public void testProjectsDelta() {
579586 event = new ClusterChangedEvent ("test" , state4 , state3 );
580587 assertThat (event .projectDelta ().added (), empty ());
581588 assertThat (event .projectDelta ().removed (), containsInAnyOrder (remainingProjects .toArray ()));
589+ assertThat (event .projectDelta ().common (), equalTo (Set .of (ProjectId .DEFAULT )));
582590 }
583591
584592 private static class CustomClusterMetadata2 extends TestClusterCustomMetadata {
0 commit comments