@@ -168,9 +168,8 @@ Y_UNIT_TEST_SUITE(TTxDataShardBuildIndexScan) {
168168 CreateShardedTableForIndex (server, sender, " /Root" , " table-2" , 1 , false );
169169
170170 auto observer = runtime.AddObserver <TEvDataShard::TEvCompactBorrowed>([&](TEvDataShard::TEvCompactBorrowed::TPtr& event) {
171- IActor *actor = runtime.FindActor (event->Sender );
172- if (actor && actor->GetActivityType () == 186 ) {
173- Cerr << " Ignore SchemeShard TEvCompactBorrowed from " << event->Sender << " (" << actor->GetActivityType () << " )" << " to " << event->Recipient << Endl;
171+ Cerr << " Captured TEvDataShard::TEvCompactBorrowed from " << runtime.FindActorName (event->Sender ) << " to " << runtime.FindActorName (event->GetRecipientRewrite ()) << Endl;
172+ if (runtime.FindActorName (event->Sender ) == " FLAT_SCHEMESHARD_ACTOR" ) {
174173 event.Reset ();
175174 }
176175 });
@@ -203,12 +202,9 @@ Y_UNIT_TEST_SUITE(TTxDataShardBuildIndexScan) {
203202
204203 UNIT_ASSERT_VALUES_EQUAL (stats.GetTableStats ().GetRowCount (), shardIndex == 0 ? 2 : 3 );
205204
206- const auto & ownersProto = stats.GetUserTablePartOwners ();
207- THashSet<ui64> owners (ownersProto.begin (), ownersProto.end ());
205+ THashSet<ui64> owners (stats.GetUserTablePartOwners ().begin (), stats.GetUserTablePartOwners ().end ());
208206 // Note: datashard always adds current shard to part owners, even if there are no parts
209- UNIT_ASSERT_VALUES_EQUAL (owners.size (), 2u );
210- UNIT_ASSERT (owners.contains (shards1.at (0 )));
211- UNIT_ASSERT (owners.contains (shards2.at (shardIndex)));
207+ UNIT_ASSERT_VALUES_EQUAL (owners, (THashSet<ui64>{shards1.at (0 ), shards2.at (shardIndex)}));
212208
213209 auto tableId = ResolveTableId (server, sender, " /Root/table-2" );
214210 auto result = CompactBorrowed (runtime, shards2.at (shardIndex), tableId);
@@ -217,23 +213,12 @@ Y_UNIT_TEST_SUITE(TTxDataShardBuildIndexScan) {
217213 UNIT_ASSERT_VALUES_EQUAL (result.GetPathId ().GetOwnerId (), tableId.PathId .OwnerId );
218214 UNIT_ASSERT_VALUES_EQUAL (result.GetPathId ().GetLocalId (), tableId.PathId .LocalPathId );
219215
220- for (int i = 0 ; i < 5 ; ++i) {
216+ for (int i = 0 ; i < 5 && (owners. size () > 1 || owners. contains (shards1. at ( 0 ))) ; ++i) {
221217 auto stats = WaitTableStats (runtime, shards2.at (shardIndex));
222- // Cerr << "Received shard stats:" << Endl << stats.DebugString() << Endl;
223- const auto & ownersProto = stats.GetUserTablePartOwners ();
224- THashSet<ui64> owners (ownersProto.begin (), ownersProto.end ());
225- if (i < 4 ) {
226- if (owners.size () > 1 ) {
227- continue ;
228- }
229- if (owners.contains (shards1.at (0 ))) {
230- continue ;
231- }
232- }
233- UNIT_ASSERT_VALUES_EQUAL (owners.size (), 1u );
234- UNIT_ASSERT (owners.contains (shards2.at (shardIndex)));
235- Cerr << " OK " << shards2.at (shardIndex) << Endl;
218+ owners = THashSet<ui64>(stats.GetUserTablePartOwners ().begin (), stats.GetUserTablePartOwners ().end ());
236219 }
220+
221+ UNIT_ASSERT_VALUES_EQUAL (owners, (THashSet<ui64>{shards2.at (shardIndex)}));
237222 }
238223
239224 // Alter table: disable shadow data and change compaction policy
0 commit comments