realAaronWu commented on PR #462: URL: https://github.com/apache/paimon-cpp/pull/462#issuecomment-6578856698
Thanks for the direction. I reworked this PR around the ordinary `TableScan::Create` / `CreatePlan` path and existing `WithMemoryPool`, removing the separate planner/decoder, PlanningBudget factory, and STL implementation accounting. The concrete issue reproduced was exception unwinding while another accepted manifest task still borrowed the snapshot/scan. Commit 3ad0ed736ea793ec8a44598ef1c1d471e4581b10 adds local wait-only guards at the three manifest submission scopes and reserves the ordinary-entry future vector before submission. It preserves the originating exception without calling `get()` during unwinding. The final head is dbaf4aa1a81e96b8043a0da1bbf017cfb94165a6 after merging current main. The new core tests exercise real `CreatePlan` allocation/refusal and recovery, caller-owned retained split lifetime, Arrow growth refusal preserving the old buffer, rejection at all three submission scopes, and a worker pool exception with a pending sibling. Historical pinned-build diagnostics pass all five tests; removing each guard independently fails the corresponding ordering assertion, and the unmodified worker path fails too. Those diagnostics are deliberately distinguished from the final main-based build: the PR is now a validation draft while normal bundled-dependency CI qualifies this head. The documentation explicitly limits accounting to allocations reaching the supplied pool, distinguishes live bytes from cumulative allocation work, and states caller pool lifetime/thread-safety requirements. It makes no total-native/RSS bound. Sirius's stronger requirement remains a separate unresolved integration gap. I will update the final-head CI evidence before restoring review readiness. -- 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]
