@@ -512,30 +512,35 @@ struct TSchemeShard::TIndexBuilder::TTxProgress: public TSchemeShard::TIndexBuil
512
512
private:
513
513
TMap<TTabletId, THolder<IEventBase>> ToTabletSend;
514
514
515
- template <bool WithSnapshot = true , typename Record >
516
- TTabletId CommonFillRecord (Record& record , TShardIdx shardIdx, TIndexBuildInfo& buildInfo) {
515
+ template <bool WithSnapshot = true , typename TRequest >
516
+ TTabletId CommonFillScanRequest (TRequest& request , TShardIdx shardIdx, TIndexBuildInfo& buildInfo) {
517
517
TTabletId shardId = Self->ShardInfos .at (shardIdx).TabletID ;
518
- record.SetTabletId (ui64 (shardId));
518
+ request.SetTabletId (ui64 (shardId));
519
+
519
520
if constexpr (WithSnapshot) {
520
521
if (buildInfo.SnapshotTxId ) {
521
522
Y_ENSURE (buildInfo.SnapshotStep );
522
- record .SetSnapshotTxId (ui64 (buildInfo.SnapshotTxId ));
523
- record .SetSnapshotStep (ui64 (buildInfo.SnapshotStep ));
523
+ request .SetSnapshotTxId (ui64 (buildInfo.SnapshotTxId ));
524
+ request .SetSnapshotStep (ui64 (buildInfo.SnapshotStep ));
524
525
}
525
526
}
526
527
527
528
auto & shardStatus = buildInfo.Shards .at (shardIdx);
528
- if constexpr (requires { record .MutableKeyRange (); }) {
529
+ if constexpr (requires { request .MutableKeyRange (); }) {
529
530
if (shardStatus.LastKeyAck ) {
530
531
TSerializedTableRange range = TSerializedTableRange (shardStatus.LastKeyAck , " " , false , false );
531
- range.Serialize (*record .MutableKeyRange ());
532
+ range.Serialize (*request .MutableKeyRange ());
532
533
} else if (buildInfo.KMeans .Parent == 0 ) {
533
- shardStatus.Range .Serialize (*record .MutableKeyRange ());
534
+ shardStatus.Range .Serialize (*request .MutableKeyRange ());
534
535
}
535
536
}
536
537
537
- record.SetSeqNoGeneration (Self->Generation ());
538
- record.SetSeqNoRound (++shardStatus.SeqNoRound );
538
+ if constexpr (requires { request.MutableScanSettings (); }) {
539
+ request.MutableScanSettings ()->CopyFrom (buildInfo.ScanSettings );
540
+ }
541
+
542
+ request.SetSeqNoGeneration (Self->Generation ());
543
+ request.SetSeqNoRound (++shardStatus.SeqNoRound );
539
544
return shardId;
540
545
}
541
546
@@ -562,7 +567,7 @@ struct TSchemeShard::TIndexBuilder::TTxProgress: public TSchemeShard::TIndexBuil
562
567
563
568
ev->Record .AddColumns (buildInfo.IndexColumns .back ());
564
569
565
- auto shardId = CommonFillRecord (ev->Record , shardIdx, buildInfo);
570
+ auto shardId = CommonFillScanRequest (ev->Record , shardIdx, buildInfo);
566
571
ev->Record .SetSeed (ui64 (shardId));
567
572
LOG_N (" TTxBuildProgress: TEvSampleKRequest: " << ev->Record .ShortDebugString ());
568
573
@@ -602,7 +607,7 @@ struct TSchemeShard::TIndexBuilder::TTxProgress: public TSchemeShard::TIndexBuil
602
607
buildInfo.DataColumns .begin (), buildInfo.DataColumns .end ()
603
608
};
604
609
605
- auto shardId = CommonFillRecord (ev->Record , shardIdx, buildInfo);
610
+ auto shardId = CommonFillScanRequest (ev->Record , shardIdx, buildInfo);
606
611
LOG_N (" TTxBuildProgress: TEvReshuffleKMeansRequest: " << ToShortDebugString (ev->Record ));
607
612
608
613
ToTabletSend.emplace (shardId, std::move (ev));
@@ -650,7 +655,7 @@ struct TSchemeShard::TIndexBuilder::TTxProgress: public TSchemeShard::TIndexBuil
650
655
buildInfo.DataColumns .begin (), buildInfo.DataColumns .end ()
651
656
};
652
657
653
- auto shardId = CommonFillRecord (ev->Record , shardIdx, buildInfo);
658
+ auto shardId = CommonFillScanRequest (ev->Record , shardIdx, buildInfo);
654
659
ev->Record .SetSeed (ui64 (shardId));
655
660
LOG_N (" TTxBuildProgress: TEvLocalKMeansRequest: " << ev->Record .ShortDebugString ());
656
661
@@ -695,7 +700,7 @@ struct TSchemeShard::TIndexBuilder::TTxProgress: public TSchemeShard::TIndexBuil
695
700
ev->Record .AddSourcePrimaryKeyColumns (tableInfo.Columns .at (keyPos).Name );
696
701
}
697
702
698
- auto shardId = CommonFillRecord <false >(ev->Record , shardIdx, buildInfo);
703
+ auto shardId = CommonFillScanRequest <false >(ev->Record , shardIdx, buildInfo);
699
704
ev->Record .SetSeed (ui64 (shardId));
700
705
LOG_N (" TTxBuildProgress: TEvPrefixKMeansRequest: " << ev->Record .ShortDebugString ());
701
706
@@ -744,9 +749,7 @@ struct TSchemeShard::TIndexBuilder::TTxProgress: public TSchemeShard::TIndexBuil
744
749
745
750
ev->Record .SetTargetName (buildInfo.TargetName );
746
751
747
- ev->Record .MutableScanSettings ()->CopyFrom (buildInfo.ScanSettings );
748
-
749
- auto shardId = CommonFillRecord (ev->Record , shardIdx, buildInfo);
752
+ auto shardId = CommonFillScanRequest (ev->Record , shardIdx, buildInfo);
750
753
751
754
LOG_N (" TTxBuildProgress: TEvBuildIndexCreateRequest: " << ev->Record .ShortDebugString ());
752
755
0 commit comments