@@ -30,7 +30,6 @@ namespace NKikimr {
3030 , HugeKeeperId(hugeKeeperId)
3131 , DefragMonGroup(VCtx->VDiskCounters, " subsystem" , " defrag" )
3232 , RunDefragBySchedule(runDefrageBySchedule)
33- , MaxChunksToDefrag(vconfig->MaxChunksToDefragInflight)
3433 {}
3534
3635 TDefragCtx::~TDefragCtx () = default ;
@@ -138,8 +137,8 @@ namespace NKikimr {
138137 double hugeDefragFreeSpaceBorder = DCtx->VCfg ->HugeDefragFreeSpaceBorderPerMille / 1000.0 ;
139138 DCtx->DefragMonGroup .DefragThreshold () = DefragThreshold (oos, defaultPercent, hugeDefragFreeSpaceBorder);
140139 if (HugeHeapDefragmentationRequired (oos, canBeFreedChunks, totalChunks, defaultPercent, hugeDefragFreeSpaceBorder)) {
141- TChunksToDefrag chunksToDefrag = calcStat.GetChunksToDefrag (MaxInflyghtDefragChunks (DCtx->MaxChunksToDefrag , canBeFreedChunks));
142- Y_ABORT_UNLESS (chunksToDefrag);
140+ TChunksToDefrag chunksToDefrag = calcStat.GetChunksToDefrag (MaxInflyghtDefragChunks (DCtx->VCfg -> MaxChunksToDefragInflight , canBeFreedChunks));
141+ Y_VERIFY_S (chunksToDefrag, DCtx-> VCtx -> VDiskLogPrefix );
143142 STLOG (PRI_INFO, BS_VDISK_DEFRAG, BSVDD03, VDISKP (DCtx->VCtx ->VDiskLogPrefix , " scan finished" ),
144143 (TotalChunks, totalChunks), (UsefulChunks, usefulChunks),
145144 (LocalColor, NKikimrBlobStorage::TPDiskSpaceColor_E_Name (oos.GetLocalColor ())),
@@ -264,12 +263,21 @@ namespace NKikimr {
264263 Sublog.Log () << " === Starting Defrag ===\n " ;
265264 }
266265
267- Sublog.Log () << " Defrag quantum started\n " ;
266+ auto chunksToDefrag = std::visit ([](auto & r) { return GetChunksToDefrag (r); }, task.Request );
267+ if (!chunksToDefrag) {
268+ Sublog.Log () << " Defrag quantum started {nothing} \n " ;
269+ } else {
270+ Sublog.Log () << " Defrag quantum started"
271+ << " {chunksSize# " << chunksToDefrag->Chunks .size ()
272+ << " foundChunks# " << chunksToDefrag->FoundChunksToDefrag
273+ << " estimatedSlots# " << chunksToDefrag->EstimatedSlotsCount
274+ << " }\n " ;
275+ }
268276 ++TotalDefragRuns;
269277 InProgress = true ;
270278 ActiveActors.Insert (ctx.Register (CreateDefragQuantumActor (DCtx,
271279 GInfo->GetVDiskId (DCtx->VCtx ->ShortSelfVDisk ),
272- std::visit ([]( auto & r) { return GetChunksToDefrag (r); }, task. Request ) , DCtx->VCfg ->EnableExplicitCompactionAfterDefrag )), __FILE__, __LINE__,
280+ chunksToDefrag , DCtx->VCfg ->EnableExplicitCompactionAfterDefrag )), __FILE__, __LINE__,
273281 ctx, NKikimrServices::BLOBSTORAGE);
274282 }
275283
0 commit comments