@@ -363,13 +363,15 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
363
363
}
364
364
if (Terminated) {
365
365
DoTerminateImpl ();
366
- MemoryQuota.Reset ();
367
- MemoryLimits.MemoryQuotaManager .reset ();
368
366
}
369
367
}
370
368
371
369
virtual void DoExecuteImpl () = 0;
372
- virtual void DoTerminateImpl () {}
370
+
371
+ virtual void DoTerminateImpl () {
372
+ MemoryQuota.Reset ();
373
+ MemoryLimits.MemoryQuotaManager .reset ();
374
+ }
373
375
374
376
virtual bool DoHandleChannelsAfterFinishImpl () = 0;
375
377
@@ -1124,6 +1126,7 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
1124
1126
1125
1127
State = NDqProto::COMPUTE_STATE_FAILURE;
1126
1128
ReportStateAndMaybeDie (NYql::NDqProto::StatusIds::TIMEOUT, {TIssue (reason)}, true );
1129
+ DoTerminateImpl ();
1127
1130
break ;
1128
1131
}
1129
1132
case EEvWakeupTag::PeriodicStatsTag: {
@@ -1150,6 +1153,7 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
1150
1153
1151
1154
TerminateSources (" executer lost" , false );
1152
1155
Terminate (false , " executer lost" ); // Executer lost - no need to report state
1156
+ DoTerminateImpl ();
1153
1157
break ;
1154
1158
}
1155
1159
default : {
@@ -1193,6 +1197,7 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
1193
1197
if (ev->Get ()->Record .GetStatusCode () == NYql::NDqProto::StatusIds::INTERNAL_ERROR) {
1194
1198
Y_ABORT_UNLESS (ev->Get ()->GetIssues ().Size () == 1 );
1195
1199
InternalError (NYql::NDqProto::StatusIds::INTERNAL_ERROR, *ev->Get ()->GetIssues ().begin ());
1200
+ DoTerminateImpl ();
1196
1201
return ;
1197
1202
}
1198
1203
@@ -1216,6 +1221,7 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
1216
1221
}
1217
1222
1218
1223
ReportStateAndMaybeDie (ev->Get ()->Record .GetStatusCode (), issues, true );
1224
+ DoTerminateImpl ();
1219
1225
}
1220
1226
1221
1227
void HandleExecuteBase (NActors::TEvInterconnect::TEvNodeDisconnected::TPtr& ev) {
0 commit comments