realAaronWu opened a new pull request, #437: URL: https://github.com/apache/paimon-cpp/pull/437
### Purpose Fixes #436. Related to #435, but does not implement planning cancellation or budgets. `DefaultExecutor::Add` currently queues its callback before lazy worker startup. If startup throws, a later submission can run the callback whose submission failed. Start workers under the existing mutex before enqueueing the callback. A failed invocation releases its captures immediately; partial worker startup can leave idle workers and does not restore the configured worker count on retry. ### Tests - Add a Linux 64-bit GNU/Clang static-library regression target with submitting-thread-only allocation faults. Cover startup, partial startup, immediate capture release, recovery, shutdown, and queue growth with an accepted prefix. CTest bounds the executable to 30 seconds. - Actual unmodified-main production archive fails the startup regression with exit 1 through the native runner; the fixed production target passes. - Local Linux x86_64 / GCC 15.3 / Debug CMake + CTest: new target 2 passed; common 1,721 passed + 2 expected skips; core 2,351 passed; scan 87 passed; scan-and-read 511 passed; read 302 passed. - Scoped ASan/UBSan/LSan: the executor/status implementation and the new/existing executor test translation units, 14 cases passed. This is not whole-project sanitizer coverage. - Pinned pre-commit hooks passed. Public CI remains pending for this validation draft. Local network tests and optional Rust formats were disabled; ARM, TSAN, and GPU execution are not claimed. RelWithDebInfo new/common targets also passed. Its wider build hit an unchanged GCC 15 `-O2 -Werror=maybe-uninitialized` warning in `remote_lookup_file_manager_test.cpp`; the identical compile fails on main too. Debug wider targets above completed without suppressing that warning or changing unrelated code. ### API and Format No public API or storage-format change. Custom executors, general `ShutdownNow` allocation-failure safety, and complete pool rollback are outside this fix. ### Documentation No new user-facing feature. The implementation comment explains the submission boundary. ### Generative AI tooling Generated-by: OpenAI Codex (desktop; model/version not exposed). -- 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]
