diff --git a/ydb/core/blobstorage/vdisk/hullop/blobstorage_hullcommit.h b/ydb/core/blobstorage/vdisk/hullop/blobstorage_hullcommit.h index 19d2dc0d88c5..d6ab9b6dabcf 100644 --- a/ydb/core/blobstorage/vdisk/hullop/blobstorage_hullcommit.h +++ b/ydb/core/blobstorage/vdisk/hullop/blobstorage_hullcommit.h @@ -139,14 +139,10 @@ namespace NKikimr { // notify delayed deleter when log record is actually written; we MUST ensure that updates are coming in // order of increasing LSN's; this is achieved automatically as all actors reside on the same mailbox - if (WId) { - LevelIndex->DelayedCompactionDeleterInfo->Update(LsnSeg.Last, std::move(Metadata.RemovedHugeBlobs), - CommitRecord.DeleteToDecommitted ? CommitRecord.DeleteChunks : TVector(), - PDiskSignatureForHullDbKey(), WId, ctx, Ctx->HugeKeeperId, Ctx->SkeletonId, Ctx->PDiskCtx, - Ctx->HullCtx->VCtx); - } else { - Y_ABORT_UNLESS(Metadata.RemovedHugeBlobs.Empty()); - } + LevelIndex->DelayedCompactionDeleterInfo->Update(LsnSeg.Last, std::move(Metadata.RemovedHugeBlobs), + CommitRecord.DeleteToDecommitted ? CommitRecord.DeleteChunks : TVector(), + PDiskSignatureForHullDbKey(), WId, ctx, Ctx->HugeKeeperId, Ctx->SkeletonId, Ctx->PDiskCtx, + Ctx->HullCtx->VCtx); NPDisk::TEvLogResult* msg = ev->Get(); diff --git a/ydb/core/blobstorage/vdisk/hullop/hullcompdelete/blobstorage_hullcompdelete.h b/ydb/core/blobstorage/vdisk/hullop/hullcompdelete/blobstorage_hullcompdelete.h index a53a4204fcae..56304aa8da67 100644 --- a/ydb/core/blobstorage/vdisk/hullop/hullcompdelete/blobstorage_hullcompdelete.h +++ b/ydb/core/blobstorage/vdisk/hullop/hullcompdelete/blobstorage_hullcompdelete.h @@ -94,7 +94,6 @@ namespace NKikimr { ui64 wId, const TActorContext& ctx, const TActorId& hugeKeeperId, const TActorId& skeletonId, const TPDiskCtxPtr& pdiskCtx, const TVDiskContextPtr& vctx) { Y_ABORT_UNLESS(recordLsn > LastDeletionLsn); - Y_ABORT_UNLESS(!removedHugeBlobs.Empty()); LastDeletionLsn = recordLsn; LOG_DEBUG_S(ctx, NKikimrServices::BS_HULLCOMP, vctx->VDiskLogPrefix << "TDelayedCompactionDeleter: Update recordLsn# " << recordLsn << " removedHugeBlobs.size# " @@ -223,8 +222,12 @@ namespace NKikimr { TReleaseQueueItem& item = ReleaseQueue.front(); if (CurrentSnapshots.empty() || (item.RecordLsn <= CurrentSnapshots.begin()->first)) { // matching record -- commit it to huge hull keeper and throw out of the queue - ctx.Send(hugeKeeperId, new TEvHullFreeHugeSlots(std::move(item.RemovedHugeBlobs), - item.RecordLsn, item.Signature, item.WId)); + if (item.WId) { + ctx.Send(hugeKeeperId, new TEvHullFreeHugeSlots(std::move(item.RemovedHugeBlobs), + item.RecordLsn, item.Signature, item.WId)); + } else { + Y_ABORT_UNLESS(item.RemovedHugeBlobs.Empty()); + } if (item.ChunksToForget) { LOG_DEBUG(ctx, NKikimrServices::BS_VDISK_CHUNKS, VDISKP(vctx->VDiskLogPrefix, "FORGET: PDiskId# %s ChunksToForget# %s", pdiskCtx->PDiskIdString.data(),