Croway opened a new pull request, #26553: URL: https://github.com/apache/camel/pull/26553
Fixes [CAMEL-24800](https://issues.apache.org/jira/browse/CAMEL-24800). With exchange pooling enabled, `DefaultPooledExchange(Exchange parent)` reused the parent's `ResetableClock` instance. Splitter children are pooled copies of the Splitter's working copy, so parent and child shared one clock. When the working copy was released first, its `done()` unset the created time, and the child's `done()` then skipped the reset entirely (guarded by `created > 0`). The dirty child was offered back to the pool, so exchange properties and exchange-scoped variables set by one message's split children showed up in the next message's split children. Fix: every pooled copy gets its own `ResetableClock`. No behaviour change outside pooled mode. Test: `PooledExchangeSplitLeakTest` reproduces the leak (fails on main, passes with the fix); existing `PooledExchange*` and Splitter tests pass. Present since 4.4 (CAMEL-20225), so a backport to the LTS branches is worth considering once merged. _Claude Code on behalf of Croway_ -- 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]
