diff options
author | chertus <azuikov@ydb.tech> | 2023-08-25 12:04:29 +0300 |
---|---|---|
committer | chertus <azuikov@ydb.tech> | 2023-08-25 12:27:09 +0300 |
commit | ccf5094ddd8133f2a8a8bf3fa303e64a258b3c76 (patch) | |
tree | dacc84387dfb85a64cd7a1bc5d1fbceb448cccfd | |
parent | ac58c6f0f8392ae94455bdfaa632bf64b52e9151 (diff) | |
download | ydb-ccf5094ddd8133f2a8a8bf3fa303e64a258b3c76.tar.gz |
KIKIMR-17916 hotfix for unexpected state in eviction logic
-rw-r--r-- | ydb/core/tx/columnshard/blob_manager.cpp | 6 | ||||
-rw-r--r-- | ydb/core/tx/columnshard/columnshard__export.cpp | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/ydb/core/tx/columnshard/blob_manager.cpp b/ydb/core/tx/columnshard/blob_manager.cpp index b66e91be9a..361ff00619 100644 --- a/ydb/core/tx/columnshard/blob_manager.cpp +++ b/ydb/core/tx/columnshard/blob_manager.cpp @@ -609,7 +609,11 @@ bool TBlobManager::UpdateOneToOne(TEvictedBlob&& evict, IBlobManagerDb& db, bool Y_VERIFY(old.State == EEvictState::EVICTING); break; case EEvictState::EXTERN: - Y_VERIFY(old.State == EEvictState::EVICTING || old.State == EEvictState::SELF_CACHED); + if (old.State != EEvictState::EVICTING && old.State != EEvictState::SELF_CACHED) { + LOG_S_ERROR("Unexpected update '" << evict.Blob << "' state " << (ui32) old.State + << " tier '" << meta.GetTierName() << "' at tablet " << TabletInfo->TabletID); + return false; + } break; default: break; diff --git a/ydb/core/tx/columnshard/columnshard__export.cpp b/ydb/core/tx/columnshard/columnshard__export.cpp index 3649bf1a63..43e9934682 100644 --- a/ydb/core/tx/columnshard/columnshard__export.cpp +++ b/ydb/core/tx/columnshard/columnshard__export.cpp @@ -81,7 +81,7 @@ bool TTxExportFinish::Execute(TTransactionContext& txc, const TActorContext&) { BlobsToForget[meta.GetTierName()].emplace(std::move(evict)); } else { - LOG_S_ERROR(TxPrefix() << "Unknown blob exported '" << blobId << "'" << TxSuffix()); + LOG_S_ERROR(TxPrefix() << "Blob not exported '" << blobId << "'" << TxSuffix()); } } } |