@@ -304,30 +304,14 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
304
304
ReportStats (TInstant::Now (), ESendStats::IfPossible);
305
305
}
306
306
if (Terminated) {
307
- TaskRunner. Reset ();
307
+ DoTerminateImpl ();
308
308
MemoryQuota.Reset ();
309
309
MemoryLimits.MemoryQuotaManager .reset ();
310
310
}
311
311
}
312
312
313
- virtual void DoExecuteImpl () {
314
- auto sourcesState = GetSourcesState ();
315
-
316
- PollAsyncInput ();
317
- ERunStatus status = TaskRunner->Run ();
318
-
319
- CA_LOG_T (" Resume execution, run status: " << status);
320
-
321
- if (status != ERunStatus::Finished) {
322
- PollSources (std::move (sourcesState));
323
- }
324
-
325
- if ((status == ERunStatus::PendingInput || status == ERunStatus::Finished) && Checkpoints && Checkpoints->HasPendingCheckpoint () && !Checkpoints->ComputeActorStateSaved () && ReadyToCheckpoint ()) {
326
- Checkpoints->DoCheckpoint ();
327
- }
328
-
329
- ProcessOutputsImpl (status);
330
- }
313
+ virtual void DoExecuteImpl () = 0;
314
+ virtual void DoTerminateImpl () {}
331
315
332
316
virtual bool DoHandleChannelsAfterFinishImpl () {
333
317
Y_ABORT_UNLESS (Checkpoints);
@@ -606,12 +590,11 @@ class TDqComputeActorBase : public NActors::TActorBootstrapped<TDerived>
606
590
InternalError (statusCode, TIssues ({std::move (issue)}));
607
591
}
608
592
593
+ virtual void InvalidateMeminfo () {}
594
+
609
595
void InternalError (NYql::NDqProto::StatusIds::StatusCode statusCode, TIssues issues) {
610
596
CA_LOG_E (InternalErrorLogString (statusCode, issues));
611
- if (TaskRunner) {
612
- TaskRunner->GetAllocator ().InvalidateMemInfo ();
613
- TaskRunner->GetAllocator ().DisableStrictAllocationCheck ();
614
- }
597
+ InvalidateMeminfo ();
615
598
State = NDqProto::COMPUTE_STATE_FAILURE;
616
599
ReportStateAndMaybeDie (statusCode, issues);
617
600
}
0 commit comments