When migrating to Camel 3.7.2 I've noticed that there is a problem with the recipient list in transacted routes.
Recipient list does not wait for processing an exchange by recipients and ignores aggregation strategy when :
- route is transacted,
- doTry()...doCatch() is used,
- processing by the recipient takes longer.
The bug was discovered in version 3.7.2 but it's also present in the newest versions 3.10.0 and 3.7.4 (LTS).
Here is a test, which reproduces the problem:
This test is passing with Camel 3.7.1 and below, but it's failing with Camel 3.7.2 and above.
However it's also passing with Camel 3.9.0 !
It's also passing on 'main' and '3.7.x' branches after reverting commit b1b5b7d0 : "
CAMEL-16550: camel-core - Split and Aggregate with Transacted may cause thread to stuck".
I've checked a history of MulticastProcessor class and it looks that: