aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchertus <azuikov@ydb.tech>2023-08-25 12:04:29 +0300
committerchertus <azuikov@ydb.tech>2023-08-25 12:27:09 +0300
commitccf5094ddd8133f2a8a8bf3fa303e64a258b3c76 (patch)
treedacc84387dfb85a64cd7a1bc5d1fbceb448cccfd
parentac58c6f0f8392ae94455bdfaa632bf64b52e9151 (diff)
downloadydb-ccf5094ddd8133f2a8a8bf3fa303e64a258b3c76.tar.gz
KIKIMR-17916 hotfix for unexpected state in eviction logic
-rw-r--r--ydb/core/tx/columnshard/blob_manager.cpp6
-rw-r--r--ydb/core/tx/columnshard/columnshard__export.cpp2
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());
}
}
}