Skip to content

Commit 71ad71f

Browse files
fix incorrect processing event undelivering in scan fetcher (#13092)
1 parent 22e791d commit 71ad71f

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

ydb/core/kqp/compute_actor/kqp_scan_compute_manager.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ class TShardScannerInfo {
7272
new TEvPipeCache::TEvForward(ev.release(), TabletId, !subscribed), IEventHandle::FlagTrackDelivery);
7373
}
7474

75+
ui64 GetTabletId() const {
76+
return TabletId;
77+
}
78+
7579
TString ToString() const {
7680
TStringBuilder builder;
7781

ydb/core/kqp/compute_actor/kqp_scan_fetcher_actor.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -373,11 +373,11 @@ void TKqpScanFetcherActor::HandleExecute(TEvents::TEvUndelivered::TPtr& ev) {
373373
case TEvKqpCompute::TEvScanDataAck::EventType: {
374374
auto info = InFlightShards.GetShardScanner(ev->Cookie);
375375
if (!!info) {
376-
TStringBuilder builder;
377-
builder << "Delivery problem: EvScanDataAck lost, NodeId: "
378-
<< SelfId().NodeId() << ", Details: " << info->ToString() << ".";
379-
380-
SendGlobalFail(NDqProto::StatusIds::UNAVAILABLE, TIssuesIds::DEFAULT_ERROR, TString(builder));
376+
auto state = InFlightShards.GetShardStateVerified(info->GetTabletId());
377+
AFL_WARN(NKikimrServices::KQP_COMPUTE)("event", "TEvents::TEvUndelivered")("from_tablet", info->GetTabletId())
378+
("state", state->State)("details", info->ToString())("node", SelfId().NodeId());
379+
AFL_VERIFY(state->State == EShardState::Running)("state", state->State);
380+
RetryDeliveryProblem(state);
381381
}
382382
return;
383383
}

0 commit comments

Comments
 (0)