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]