diff --git a/ydb/core/tx/columnshard/blob_manager.h b/ydb/core/tx/columnshard/blob_manager.h index 2ba45762a83d..a769a417aab7 100644 --- a/ydb/core/tx/columnshard/blob_manager.h +++ b/ydb/core/tx/columnshard/blob_manager.h @@ -89,7 +89,6 @@ class IBlobManager { return DoSaveBlobBatch(std::move(blobBatch), db); } - // Deletes the blob that was previously permanently saved virtual void DeleteBlobOnExecute(const TUnifiedBlobId& blobId, IBlobManagerDb& db) = 0; virtual void DeleteBlobOnComplete(const TUnifiedBlobId& blobId) = 0; }; diff --git a/ydb/core/tx/columnshard/blobs_action/abstract/action.h b/ydb/core/tx/columnshard/blobs_action/abstract/action.h index fad554df354a..6f10c41d9169 100644 --- a/ydb/core/tx/columnshard/blobs_action/abstract/action.h +++ b/ydb/core/tx/columnshard/blobs_action/abstract/action.h @@ -55,21 +55,21 @@ class TStorageAction { return !!Writing; } - void OnExecuteTxAfterAction(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) { + void OnExecuteTxAfterAction(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) { if (Removing) { - Removing->OnExecuteTxAfterRemoving(self, dbBlobs, success); + Removing->OnExecuteTxAfterRemoving(self, dbBlobs, blobsWroteSuccessfully); } if (Writing) { - Writing->OnExecuteTxAfterWrite(self, dbBlobs, success); + Writing->OnExecuteTxAfterWrite(self, dbBlobs, blobsWroteSuccessfully); } } - void OnCompleteTxAfterAction(NColumnShard::TColumnShard& self, const bool success) { + void OnCompleteTxAfterAction(NColumnShard::TColumnShard& self, const bool blobsWroteSuccessfully) { if (Removing) { - Removing->OnCompleteTxAfterRemoving(self, success); + Removing->OnCompleteTxAfterRemoving(self, blobsWroteSuccessfully); } if (Writing) { - Writing->OnCompleteTxAfterWrite(self, success); + Writing->OnCompleteTxAfterWrite(self, blobsWroteSuccessfully); } } }; @@ -144,15 +144,15 @@ class TBlobsAction { return false; } - void OnExecuteTxAfterAction(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) { + void OnExecuteTxAfterAction(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) { for (auto&& i : StorageActions) { - i.second.OnExecuteTxAfterAction(self, dbBlobs, success); + i.second.OnExecuteTxAfterAction(self, dbBlobs, blobsWroteSuccessfully); } } - void OnCompleteTxAfterAction(NColumnShard::TColumnShard& self, const bool success) { + void OnCompleteTxAfterAction(NColumnShard::TColumnShard& self, const bool blobsWroteSuccessfully) { for (auto&& i : StorageActions) { - i.second.OnCompleteTxAfterAction(self, success); + i.second.OnCompleteTxAfterAction(self, blobsWroteSuccessfully); } } diff --git a/ydb/core/tx/columnshard/blobs_action/abstract/remove.h b/ydb/core/tx/columnshard/blobs_action/abstract/remove.h index 3dbf8b162c88..2b68a3753c02 100644 --- a/ydb/core/tx/columnshard/blobs_action/abstract/remove.h +++ b/ydb/core/tx/columnshard/blobs_action/abstract/remove.h @@ -19,8 +19,8 @@ class IBlobsDeclareRemovingAction: public ICommonBlobsAction { YDB_READONLY_DEF(THashSet, DeclaredBlobs); protected: virtual void DoDeclareRemove(const TUnifiedBlobId& blobId) = 0; - virtual void DoOnExecuteTxAfterRemoving(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) = 0; - virtual void DoOnCompleteTxAfterRemoving(NColumnShard::TColumnShard& self, const bool success) = 0; + virtual void DoOnExecuteTxAfterRemoving(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) = 0; + virtual void DoOnCompleteTxAfterRemoving(NColumnShard::TColumnShard& self, const bool blobsWroteSuccessfully) = 0; public: IBlobsDeclareRemovingAction(const TString& storageId) : TBase(storageId) @@ -33,11 +33,11 @@ class IBlobsDeclareRemovingAction: public ICommonBlobsAction { } void DeclareRemove(const TUnifiedBlobId& blobId); - void OnExecuteTxAfterRemoving(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) { - return DoOnExecuteTxAfterRemoving(self, dbBlobs, success); + void OnExecuteTxAfterRemoving(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) { + return DoOnExecuteTxAfterRemoving(self, dbBlobs, blobsWroteSuccessfully); } - void OnCompleteTxAfterRemoving(NColumnShard::TColumnShard& self, const bool success) { - return DoOnCompleteTxAfterRemoving(self, success); + void OnCompleteTxAfterRemoving(NColumnShard::TColumnShard& self, const bool blobsWroteSuccessfully) { + return DoOnCompleteTxAfterRemoving(self, blobsWroteSuccessfully); } }; diff --git a/ydb/core/tx/columnshard/blobs_action/abstract/write.h b/ydb/core/tx/columnshard/blobs_action/abstract/write.h index 038824e9603a..0ae4f57abb0c 100644 --- a/ydb/core/tx/columnshard/blobs_action/abstract/write.h +++ b/ydb/core/tx/columnshard/blobs_action/abstract/write.h @@ -30,8 +30,8 @@ class IBlobsWritingAction: public ICommonBlobsAction { virtual void DoSendWriteBlobRequest(const TString& data, const TUnifiedBlobId& blobId) = 0; virtual void DoOnBlobWriteResult(const TUnifiedBlobId& blobId, const NKikimrProto::EReplyStatus status) = 0; - virtual void DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) = 0; - virtual void DoOnCompleteTxAfterWrite(NColumnShard::TColumnShard& self, const bool success) = 0; + virtual void DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) = 0; + virtual void DoOnCompleteTxAfterWrite(NColumnShard::TColumnShard& self, const bool blobsWroteSuccessfully) = 0; virtual TUnifiedBlobId AllocateNextBlobId(const TString& data) = 0; public: @@ -75,12 +75,12 @@ class IBlobsWritingAction: public ICommonBlobsAction { return DoOnCompleteTxBeforeWrite(self); } - void OnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) { - return DoOnExecuteTxAfterWrite(self, dbBlobs, success); + void OnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) { + return DoOnExecuteTxAfterWrite(self, dbBlobs, blobsWroteSuccessfully); } - void OnCompleteTxAfterWrite(NColumnShard::TColumnShard& self, const bool success) { - return DoOnCompleteTxAfterWrite(self, success); + void OnCompleteTxAfterWrite(NColumnShard::TColumnShard& self, const bool blobsWroteSuccessfully) { + return DoOnCompleteTxAfterWrite(self, blobsWroteSuccessfully); } void SendWriteBlobRequest(const TString& data, const TUnifiedBlobId& blobId); diff --git a/ydb/core/tx/columnshard/blobs_action/bs/remove.h b/ydb/core/tx/columnshard/blobs_action/bs/remove.h index 2c859fbdadbc..59c8bf38dcaf 100644 --- a/ydb/core/tx/columnshard/blobs_action/bs/remove.h +++ b/ydb/core/tx/columnshard/blobs_action/bs/remove.h @@ -15,15 +15,15 @@ class TDeclareRemovingAction: public IBlobsDeclareRemovingAction { } - virtual void DoOnExecuteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) { - if (success) { + virtual void DoOnExecuteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) { + if (blobsWroteSuccessfully) { for (auto&& i : GetDeclaredBlobs()) { Manager->DeleteBlobOnExecute(i, dbBlobs); } } } - virtual void DoOnCompleteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, const bool success) { - if (success) { + virtual void DoOnCompleteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, const bool blobsWroteSuccessfully) { + if (blobsWroteSuccessfully) { for (auto&& i : GetDeclaredBlobs()) { Manager->DeleteBlobOnComplete(i); } diff --git a/ydb/core/tx/columnshard/blobs_action/bs/write.cpp b/ydb/core/tx/columnshard/blobs_action/bs/write.cpp index c2acaf9b2adc..cc3fd41bccd4 100644 --- a/ydb/core/tx/columnshard/blobs_action/bs/write.cpp +++ b/ydb/core/tx/columnshard/blobs_action/bs/write.cpp @@ -3,10 +3,10 @@ namespace NKikimr::NOlap::NBlobOperations::NBlobStorage { -void TWriteAction::DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) { +void TWriteAction::DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) { ui64 blobsWritten = BlobBatch.GetBlobCount(); ui64 bytesWritten = BlobBatch.GetTotalSize(); - if (success) { + if (blobsWroteSuccessfully) { self.IncCounter(NColumnShard::COUNTER_UPSERT_BLOBS_WRITTEN, blobsWritten); self.IncCounter(NColumnShard::COUNTER_UPSERT_BYTES_WRITTEN, bytesWritten); // self.IncCounter(NColumnShard::COUNTER_RAW_BYTES_UPSERTED, insertedBytes); diff --git a/ydb/core/tx/columnshard/blobs_action/bs/write.h b/ydb/core/tx/columnshard/blobs_action/bs/write.h index bde8e855b16e..d02f9b0dd7c6 100644 --- a/ydb/core/tx/columnshard/blobs_action/bs/write.h +++ b/ydb/core/tx/columnshard/blobs_action/bs/write.h @@ -28,8 +28,8 @@ class TWriteAction: public IBlobsWritingAction { return; } - virtual void DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) override; - virtual void DoOnCompleteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, const bool /*success*/) override { + virtual void DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) override; + virtual void DoOnCompleteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, const bool /*blobsWroteSuccessfully*/) override { } public: diff --git a/ydb/core/tx/columnshard/blobs_action/memory.h b/ydb/core/tx/columnshard/blobs_action/memory.h index aa942141e782..2eee28698811 100644 --- a/ydb/core/tx/columnshard/blobs_action/memory.h +++ b/ydb/core/tx/columnshard/blobs_action/memory.h @@ -68,10 +68,10 @@ class TMemoryWriteAction: public IBlobsWritingAction { return; } - virtual void DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& /*dbBlobs*/, const bool /*success*/) override { + virtual void DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& /*dbBlobs*/, const bool /*blobsWroteSuccessfully*/) override { } - virtual void DoOnCompleteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, const bool /*success*/) override { + virtual void DoOnCompleteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, const bool /*blobsWroteSuccessfully*/) override { } public: @@ -101,12 +101,12 @@ class TMemoryDeclareRemovingAction: public IBlobsDeclareRemovingAction { } - virtual void DoOnExecuteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& /*dbBlobs*/, const bool /*success*/) { + virtual void DoOnExecuteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& /*dbBlobs*/, const bool /*blobsWroteSuccessfully*/) { for (auto&& i : GetDeclaredBlobs()) { Storage->DeclareDataForRemove(i); } } - virtual void DoOnCompleteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, const bool /*success*/) { + virtual void DoOnCompleteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, const bool /*blobsWroteSuccessfully*/) { } public: diff --git a/ydb/core/tx/columnshard/blobs_action/tier/remove.h b/ydb/core/tx/columnshard/blobs_action/tier/remove.h index b39f31510f4a..75924c6d5eba 100644 --- a/ydb/core/tx/columnshard/blobs_action/tier/remove.h +++ b/ydb/core/tx/columnshard/blobs_action/tier/remove.h @@ -16,15 +16,15 @@ class TDeclareRemovingAction: public IBlobsDeclareRemovingAction { } - virtual void DoOnExecuteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) { - if (success) { + virtual void DoOnExecuteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) { + if (blobsWroteSuccessfully) { for (auto&& i : GetDeclaredBlobs()) { dbBlobs.AddTierBlobToDelete(GetStorageId(), i); } } } - virtual void DoOnCompleteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, const bool success) { - if (success) { + virtual void DoOnCompleteTxAfterRemoving(NColumnShard::TColumnShard& /*self*/, const bool blobsWroteSuccessfully) { + if (blobsWroteSuccessfully) { for (auto&& i : GetDeclaredBlobs()) { if (GCInfo->IsBlobInUsage(i)) { Y_ABORT_UNLESS(GCInfo->MutableBlobsToDeleteInFuture().emplace(i).second); diff --git a/ydb/core/tx/columnshard/blobs_action/tier/write.cpp b/ydb/core/tx/columnshard/blobs_action/tier/write.cpp index 871fe6290255..fa54aa75fadf 100644 --- a/ydb/core/tx/columnshard/blobs_action/tier/write.cpp +++ b/ydb/core/tx/columnshard/blobs_action/tier/write.cpp @@ -15,8 +15,8 @@ void TWriteAction::DoSendWriteBlobRequest(const TString& data, const TUnifiedBlo ExternalStorageOperator->Execute(evPtr); } -void TWriteAction::DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) { - if (success) { +void TWriteAction::DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) { + if (blobsWroteSuccessfully) { for (auto&& i : GetBlobsForWrite()) { dbBlobs.RemoveTierDraftBlobId(GetStorageId(), i.first); } diff --git a/ydb/core/tx/columnshard/blobs_action/tier/write.h b/ydb/core/tx/columnshard/blobs_action/tier/write.h index a076e637e621..9d65f971ce6c 100644 --- a/ydb/core/tx/columnshard/blobs_action/tier/write.h +++ b/ydb/core/tx/columnshard/blobs_action/tier/write.h @@ -26,8 +26,8 @@ class TWriteAction: public IBlobsWritingAction { return; } - virtual void DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) override; - virtual void DoOnCompleteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, const bool /*success*/) override { + virtual void DoOnExecuteTxAfterWrite(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool blobsWroteSuccessfully) override; + virtual void DoOnCompleteTxAfterWrite(NColumnShard::TColumnShard& /*self*/, const bool /*blobsWroteSuccessfully*/) override { } public: