Skip to content

Commit e837989

Browse files
authored
Correct CA cleanup (#15742)
1 parent 75a742d commit e837989

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

ydb/library/yql/dq/actors/compute/dq_compute_actor_impl.h

+9-3
Original file line numberDiff line numberDiff line change
@@ -363,13 +363,15 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
363363
}
364364
if (Terminated) {
365365
DoTerminateImpl();
366-
MemoryQuota.Reset();
367-
MemoryLimits.MemoryQuotaManager.reset();
368366
}
369367
}
370368

371369
virtual void DoExecuteImpl() = 0;
372-
virtual void DoTerminateImpl() {}
370+
371+
virtual void DoTerminateImpl() {
372+
MemoryQuota.Reset();
373+
MemoryLimits.MemoryQuotaManager.reset();
374+
}
373375

374376
virtual bool DoHandleChannelsAfterFinishImpl() = 0;
375377

@@ -1124,6 +1126,7 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
11241126

11251127
State = NDqProto::COMPUTE_STATE_FAILURE;
11261128
ReportStateAndMaybeDie(NYql::NDqProto::StatusIds::TIMEOUT, {TIssue(reason)}, true);
1129+
DoTerminateImpl();
11271130
break;
11281131
}
11291132
case EEvWakeupTag::PeriodicStatsTag: {
@@ -1150,6 +1153,7 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
11501153

11511154
TerminateSources("executer lost", false);
11521155
Terminate(false, "executer lost"); // Executer lost - no need to report state
1156+
DoTerminateImpl();
11531157
break;
11541158
}
11551159
default: {
@@ -1193,6 +1197,7 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
11931197
if (ev->Get()->Record.GetStatusCode() == NYql::NDqProto::StatusIds::INTERNAL_ERROR) {
11941198
Y_ABORT_UNLESS(ev->Get()->GetIssues().Size() == 1);
11951199
InternalError(NYql::NDqProto::StatusIds::INTERNAL_ERROR, *ev->Get()->GetIssues().begin());
1200+
DoTerminateImpl();
11961201
return;
11971202
}
11981203

@@ -1216,6 +1221,7 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
12161221
}
12171222

12181223
ReportStateAndMaybeDie(ev->Get()->Record.GetStatusCode(), issues, true);
1224+
DoTerminateImpl();
12191225
}
12201226

12211227
void HandleExecuteBase(NActors::TEvInterconnect::TEvNodeDisconnected::TPtr& ev) {

0 commit comments

Comments
 (0)