github-actions[bot] commented on code in PR #68610: URL: https://github.com/apache/doris/pull/68610#discussion_r4140089770
########## be/src/common/config.cpp: ########## @@ -335,9 +335,9 @@ DEFINE_Int32(task_executor_max_concurrency_per_task, "-1"); DEFINE_Int32(task_executor_initial_max_concurrency_per_task, "-1"); // Enable task executor in internal table scan. -DEFINE_Bool(enable_task_executor_in_internal_table, "true"); +DEFINE_Bool(enable_task_executor_in_internal_table, "false"); // Enable task executor in external table scan. -DEFINE_Bool(enable_task_executor_in_external_table, "true"); +DEFINE_Bool(enable_task_executor_in_external_table, "false"); Review Comment: [P1] Catch row-ID RPC exceptions on the new remote ThreadPool path. With this default, `multiget_data_v2` submits its callback directly to a ThreadPool worker. For a request with an existing file mapping and row ID, `RowIdStorageReader::read_by_rowids()` constructs `SlotDescriptor(pslot)` before its local `try`; an unsupported or forward-version `PTypeNode.type` throws `doris::Exception`. The worker calls `runnable->run()` without a catch, so the exception escapes the thread entry and terminates BE. The previous TaskExecutor path caught Doris exceptions in `PrioritizedSplitRunner::process()`. Catch this inside the RPC callback, serialize an error before `ClosureGuard` runs, and test an unsupported type node through the ThreadPool path. This differs from the existing failed-submission thread: the task is accepted and throws during execution. -- 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]
