@@ -707,6 +707,13 @@ TEST(ClusterMembershipMgrUnitTest, TestPopulateExpectedExecGroupSets) {
707707 EXPECT_FALSE (status.ok ());
708708 EXPECT_EQ (status.msg ().GetFullMessageDetails (),
709709 " Executor group set prefix specified multiple times: group-prefix1:10\n " );
710+
711+ // Case 10: Star in FLAGS_expected_executor_group_sets
712+ FLAGS_expected_executor_group_sets = " *" ;
713+ expected_exec_group_sets.clear ();
714+ status = ClusterMembershipMgr::PopulateExpectedExecGroupSets (expected_exec_group_sets);
715+ EXPECT_TRUE (status.ok ());
716+ EXPECT_EQ (expected_exec_group_sets.size (), 0 );
710717}
711718
712719// / This ensures that all executor group configuration scenarios possible using available
@@ -838,6 +845,30 @@ TEST(ClusterMembershipMgrUnitTest, PopulateExecutorMembershipRequest) {
838845 EXPECT_EQ (update_req.exec_group_sets [1 ].exec_group_name_prefix , " bar" );
839846 snapshot_ptr->executor_groups .clear ();
840847 }
848+
849+ // Case 3: Using executor groups, expected_exec_group_sets is *
850+ {
851+ FLAGS_expected_executor_group_sets = " *" ;
852+
853+ ExecutorGroup exec_group (" foo-group1" , 1 );
854+ exec_group.AddExecutor (MakeBackendDescriptor (1 , exec_group, 0 ));
855+ snapshot_ptr->executor_groups .insert ({exec_group.name (), exec_group});
856+ ExecutorGroup exec_group2 (" bar-group1" , 1 );
857+ exec_group2.AddExecutor (MakeBackendDescriptor (1 , exec_group2, 1 ));
858+ exec_group2.AddExecutor (MakeBackendDescriptor (2 , exec_group2, 2 ));
859+ snapshot_ptr->executor_groups .insert ({exec_group2.name (), exec_group2});
860+ ClusterMembershipMgr::SnapshotPtr ptr = snapshot_ptr;
861+ PopulateExecutorMembershipRequest (ptr, empty_exec_group_sets, update_req);
862+ EXPECT_EQ (update_req.exec_group_sets .size (), 2 );
863+ // reverse order is ok
864+ EXPECT_EQ (update_req.exec_group_sets [1 ].curr_num_executors , 1 );
865+ EXPECT_EQ (update_req.exec_group_sets [1 ].expected_num_executors , -1 );
866+ EXPECT_EQ (update_req.exec_group_sets [1 ].exec_group_name_prefix , " foo-group1" );
867+ EXPECT_EQ (update_req.exec_group_sets [0 ].curr_num_executors , 2 );
868+ EXPECT_EQ (update_req.exec_group_sets [0 ].expected_num_executors , -1 );
869+ EXPECT_EQ (update_req.exec_group_sets [0 ].exec_group_name_prefix , " bar-group1" );
870+ snapshot_ptr->executor_groups .clear ();
871+ }
841872}
842873
843874template <class T >
0 commit comments