allthingssecurity commented on PR #27033:
URL: https://github.com/apache/camel/pull/27033#issuecomment-5886123152

   Thanks for the review. I rebased onto main and pushed 77279e8780bd.
   
   **Blocking (strategy on-completions run after the add):** fixed. The 
aggregator now releases or hands over only the syncs it creates itself: the 
`handoverCompletions()` result right after `sc.copy(copy)`, kept in an 
aggregator-owned holder. The on-completions that strategies add, such as the 
zip and tar temp file deletes, are left as they are on main. Details are in the 
inline thread.
   
   **Minor:**
   - **O(n²) and the extra `get()`:** in keeping mode each message appends its 
syncs to a per-group holder, kept in a map by correlation key and guarded by 
the aggregation lock. That is O(1) per message. When the group completes, the 
whole holder is added to the aggregated exchange as one on-completion. The 
per-message `aggregationRepository.get()` is gone. Holders left over from 
groups that never completed are released in `doShutdown`, after the memory 
repository has been stopped and cleared.
   - **Upgrade guide:** added "Aggregate EIP - stream caching with spooling to 
disk" to the 4.23 guide. It covers the larger spool usage (e.g. 
`UseLatestAggregationStrategy` with a large `completionSize`), memory groups 
that never complete keeping their spool files until the aggregator shuts down, 
and the optimistic-locking/persistent behavior.
   - **Zip/tar test:** added `ZipAggregationStrategyRepositoryTest` and 
`TarAggregationStrategyRepositoryTest`, each with `optimisticLocking()` and a 
repository that stores copies (persistent style). I also added three 
`AggregateStreamCachingSpoolTest` cases with a strategy that adds an 
on-completion (optimistic, copying repository, memory). All of the non-memory 
cases fail on the previous head and pass now.
   
   **Tests:** camel-core `*Aggregat*,*StreamCach*` ran 337 tests with 0 
failures (5 skipped manual tests). camel-tarfile ran 14 and camel-zipfile 16, 
all passing. All earlier `AggregateStreamCachingSpoolTest` tests still pass.
   
   _Claude Code on behalf of allthingssecurity_


-- 
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]

Reply via email to