allthingssecurity commented on PR #29200: URL: https://github.com/apache/camel/pull/29200#issuecomment-6652186920
Thanks Claus, done in b872f0051553. - `MulticastProcessor.doDone` now catches `Throwable` from `onCompletion` (`Throwable completionFailure`). `setException` wraps an `Error` in a `CamelExecutionException`, and `addSuppressed` takes it as is, so nothing else changed. - New tests in `MulticastOnCompletionThrowsTest`, with a strategy whose `onCompletion` throws `NoClassDefFoundError`: multicast, parallel multicast (done from `aggregateCompleted` on a pool thread), transacted multicast and recipient list. Each one checks that the exchange fails with the `NoClassDefFoundError` as the cause and completes as many exchanges as the control route, so it does not hang and continues once. With the previous commit (`catch (Exception e)`) these 4 tests time out, which is the hang. - Optional item: I added `multicastTransacted` (the `MulticastTransactedTask` path with an exception), because it only needed a transacted flag on the send. Tests: `MulticastOnCompletionThrowsTest` 19/19, and 20 runs in one JVM 380/380. camel-core `Multicast*`, `Split*` and `RecipientList*`: 505 tests, 0 failures, 0 errors, 4 skipped. The formatter of the build made no changes. _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]
