@@ -58,10 +58,8 @@ namespace NKikimr {
58
58
Recipient = parentId;
59
59
60
60
// count unreplicated so far blobs in this work too
61
- for (const TLogoBlobID& id : *UnreplicatedBlobsPtr) {
62
- ReplInfo->WorkUnitsTotal += id.BlobSize ();
63
- }
64
- ReplInfo->ItemsTotal += UnreplicatedBlobsPtr->size ();
61
+ ReplInfo->WorkUnitsTotal += UnreplicatedBlobsPtr->GetNumWorkUnits ();
62
+ ReplInfo->ItemsTotal += UnreplicatedBlobsPtr->GetNumItems ();
65
63
66
64
// prepare the recovery machine
67
65
RecoveryMachine = std::make_unique<TRecoveryMachine>(ReplCtx, ReplInfo);
@@ -88,12 +86,12 @@ namespace NKikimr {
88
86
89
87
if (BlobsToReplicatePtr) {
90
88
// iterate over queue items and match them with iterator
91
- for (; !BlobsToReplicatePtr->empty () && AddingTasks; BlobsToReplicatePtr->pop_front ()) {
89
+ for (; !BlobsToReplicatePtr->IsEmpty () && AddingTasks; BlobsToReplicatePtr->PopFront ()) {
92
90
if (++counter % 1024 == 0 && GetCycleCountFast () >= plannedEndTime) {
93
91
Send (ReplCtx->SkeletonId , new TEvTakeHullSnapshot (true ));
94
92
return ;
95
93
} else {
96
- const TLogoBlobID& key = BlobsToReplicatePtr->front ();
94
+ const TLogoBlobID& key = BlobsToReplicatePtr->Front ();
97
95
it.Seek (key);
98
96
const bool processed = it.Valid () && it.GetCurKey ().LogoBlobID () == key &&
99
97
ProcessItem (it, *barriers, allowKeepFlags);
@@ -102,13 +100,9 @@ namespace NKikimr {
102
100
}
103
101
}
104
102
}
105
- if (!AddingTasks) {
106
- for (const TLogoBlobID& key : *BlobsToReplicatePtr) {
107
- ReplInfo->WorkUnitsTotal += key.BlobSize ();
108
- }
109
- ReplInfo->ItemsTotal += BlobsToReplicatePtr->size ();
110
- }
111
- eof = BlobsToReplicatePtr->empty ();
103
+ ReplInfo->WorkUnitsTotal += BlobsToReplicatePtr->GetNumWorkUnits ();
104
+ ReplInfo->ItemsTotal += BlobsToReplicatePtr->GetNumItems ();
105
+ eof = BlobsToReplicatePtr->IsEmpty ();
112
106
} else {
113
107
// scan through the index until we have enough blobs to recover or the time is out
114
108
const TBlobStorageGroupInfo::TTopology& topology = *ReplCtx->VCtx ->Top ;
@@ -360,8 +354,8 @@ namespace NKikimr {
360
354
(ReplItemsRemaining, (ui64)mon.ReplItemsRemaining ()),
361
355
(LastKey, LastKey),
362
356
(Eof, Eof),
363
- (BlobsToReplicatePtr.size , ssize_t (BlobsToReplicatePtr ? BlobsToReplicatePtr->size () : (ssize_t )-1 )),
364
- (UnreplicatedBlobsPtr.size , UnreplicatedBlobsPtr->size ()));
357
+ (BlobsToReplicatePtr.size , ssize_t (BlobsToReplicatePtr ? BlobsToReplicatePtr->GetNumItems () : (ssize_t )-1 )),
358
+ (UnreplicatedBlobsPtr.size , UnreplicatedBlobsPtr->GetNumItems ()));
365
359
}
366
360
367
361
mon.ReplWorkUnitsRemaining () = ReplInfo->WorkUnitsTotal ;
@@ -651,7 +645,7 @@ namespace NKikimr {
651
645
(RecoveryQueueSize, RecoveryQueue.size ()));
652
646
653
647
// sort unreplicated blobs vector as it may contain records in incorrect order due to phantom checking
654
- std::sort ( UnreplicatedBlobsPtr->begin (), UnreplicatedBlobsPtr-> end () );
648
+ UnreplicatedBlobsPtr->Sort ( );
655
649
return true ;
656
650
}
657
651
@@ -762,7 +756,7 @@ namespace NKikimr {
762
756
} else if (record.LooksLikePhantom ) {
763
757
++ReplCtx->MonGroup .ReplPhantomBlobsWithProblems ();
764
758
}
765
- UnreplicatedBlobsPtr->push_back (item.Id );
759
+ UnreplicatedBlobsPtr->Push (item.Id );
766
760
}
767
761
768
762
void DropUnreplicatedBlobRecord (const TLogoBlobID& id) {
0 commit comments