summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSemyon <[email protected]>2025-06-16 18:19:51 +0300
committerGitHub <[email protected]>2025-06-16 15:19:51 +0000
commit25d5f6b3a76ee8a5ff36b2af0c76aba501dc0f80 (patch)
tree68467f91a1141a34592aabdada3b1e85b2286106
parent928d8f042c6c9793f6ceff5aca15e276168fa84b (diff)
disable VERIFY CheckHanging in release build (#19510)
-rw-r--r--ydb/core/tx/columnshard/counters/scan.cpp1
-rw-r--r--ydb/core/tx/columnshard/counters/scan.h6
-rw-r--r--ydb/core/tx/columnshard/engines/reader/actor/actor.cpp12
3 files changed, 16 insertions, 3 deletions
diff --git a/ydb/core/tx/columnshard/counters/scan.cpp b/ydb/core/tx/columnshard/counters/scan.cpp
index 144a2b25588..4366f351cc2 100644
--- a/ydb/core/tx/columnshard/counters/scan.cpp
+++ b/ydb/core/tx/columnshard/counters/scan.cpp
@@ -30,6 +30,7 @@ TScanCounters::TScanCounters(const TString& module)
, RecordsDeniedByIndex(TBase::GetDeriviative("Indexes/Denied/Records"))
, RecordsAcceptedByHeader(TBase::GetDeriviative("Headers/Accepted/Records"))
, RecordsDeniedByHeader(TBase::GetDeriviative("Headers/Denied/Records"))
+ , HangingRequests(TBase::GetDeriviative("HangingRequests"))
, PortionBytes(TBase::GetDeriviative("PortionBytes"))
, FilterBytes(TBase::GetDeriviative("FilterBytes"))
diff --git a/ydb/core/tx/columnshard/counters/scan.h b/ydb/core/tx/columnshard/counters/scan.h
index e20cc3d4bc4..f395e40f43d 100644
--- a/ydb/core/tx/columnshard/counters/scan.h
+++ b/ydb/core/tx/columnshard/counters/scan.h
@@ -157,6 +157,8 @@ private:
NMonitoring::TDynamicCounters::TCounterPtr RecordsDeniedByHeader;
std::shared_ptr<TSubColumnCounters> SubColumnCounters;
+ NMonitoring::TDynamicCounters::TCounterPtr HangingRequests;
+
public:
const std::shared_ptr<TSubColumnCounters>& GetSubColumns() const {
AFL_VERIFY(SubColumnCounters);
@@ -316,6 +318,10 @@ public:
ReadingOverload->Add(1);
}
+ void OnHangingRequestDetected() const {
+ HangingRequests->Inc();
+ }
+
TScanAggregations BuildAggregations();
void FillStats(::NKikimrTableStats::TTableStats& output) const;
diff --git a/ydb/core/tx/columnshard/engines/reader/actor/actor.cpp b/ydb/core/tx/columnshard/engines/reader/actor/actor.cpp
index c89fbef6da9..d63e79df3fa 100644
--- a/ydb/core/tx/columnshard/engines/reader/actor/actor.cpp
+++ b/ydb/core/tx/columnshard/engines/reader/actor/actor.cpp
@@ -161,9 +161,15 @@ void TColumnShardScan::CheckHanging(const bool logging) const {
"scan_actor_id", ScanActorId)("tx_id", TxId)("scan_id", ScanId)("gen", ScanGen)("tablet", TabletId)(
"debug", ScanIterator ? ScanIterator->DebugString() : Default<TString>())("last", LastResultInstant);
}
- AFL_VERIFY(!!FinishInstant || !ScanIterator || !ChunksLimiter.HasMore() || ScanCountersPool.InWaiting())("scan_actor_id", ScanActorId)("tx_id", TxId)("scan_id", ScanId)(
- "gen", ScanGen)("tablet", TabletId)("debug", ScanIterator->DebugString())(
- "counters", ScanCountersPool.DebugString());
+ const bool ok = !!FinishInstant || !ScanIterator || !ChunksLimiter.HasMore() || ScanCountersPool.InWaiting();
+ AFL_VERIFY_DEBUG(ok)
+ ("scan_actor_id", ScanActorId)("tx_id", TxId)("scan_id", ScanId)("gen", ScanGen)("tablet", TabletId)("debug", ScanIterator->DebugString())(
+ "counters", ScanCountersPool.DebugString());
+ if (!ok) {
+ AFL_CRIT(NKikimrServices::TX_COLUMNSHARD_SCAN)("error", "CheckHanging")("scan_actor_id", ScanActorId)("tx_id", TxId)("scan_id", ScanId)("gen", ScanGen)(
+ "tablet", TabletId)("debug", ScanIterator->DebugString())("counters", ScanCountersPool.DebugString());
+ ScanCountersPool.OnHangingRequestDetected();
+ }
}
void TColumnShardScan::HandleScan(TEvents::TEvWakeup::TPtr& /*ev*/) {