github-actions[bot] commented on code in PR #65220:
URL: https://github.com/apache/doris/pull/65220#discussion_r3533536153


##########
be/src/exec/scan/scanner_context.cpp:
##########
@@ -186,6 +187,7 @@ Status ScannerContext::init() {
     if (auto* task_executor_scheduler =
                 
dynamic_cast<TaskExecutorSimplifiedScanScheduler*>(_scanner_scheduler)) {
         std::shared_ptr<TaskExecutor> task_executor = 
task_executor_scheduler->task_executor();
+        _task_executor = task_executor;

Review Comment:
   This fix needs coverage for the production task-executor shutdown path. The 
new `_task_executor` weak reference and `_task_handle` cleanup are only created 
inside the non-`BE_TEST` branch here, while the existing `ScannerContextTest` 
path uses mock/thread-pool schedulers and `TimeSharingTaskExecutorTest` 
exercises the executor without a `TaskExecutorSimplifiedScanScheduler` split 
lambda retaining `ScannerContext`. That leaves the exact ASAN/UBSAN shutdown 
chain from the PR body unguarded. Please add a focused BE test or 
lifecycle/integration test that enables the task-executor scan scheduler, 
leaves a split owning `ScannerContext`, destroys/resets the scheduler, and 
verifies cleanup does not re-enter the executor `shared_ptr` destruction.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to