davsclaus opened a new pull request, #26958: URL: https://github.com/apache/camel/pull/26958
Fixes [CAMEL-25064](https://issues.apache.org/jira/browse/CAMEL-25064): bugs in the EIP and service MBeans found in a deep review. Each fix has a test in `ManagedTabularDataEdgeCasesTest` that fails without it. Most are **tabular data keyed by a value that is not unique**, so the JMX operation failed with `KeyAlreadyExistsException`: 1. Choice `extendedInformation` with two whens that have the same predicate. 2. doTry `extendedInformation` with two `doCatch` of the same exception (such as one with `onWhen`, the documented pattern) once both have caught it. 3. `listTasks` of the task manager registry with two tasks of the same name (such as the reconnect tasks of a Kafka consumer with `consumersCount > 1`, or tasks without a name). 4. `extendedInformation` of toD, enrich, pollEnrich, recipient list, routing slip, dynamic router, wire tap and poll (Extended statistics) when endpoints only differ in a secret, which is masked. Their hits are now merged per masked url; the eight copies of that code are now one helper. 5. `listStatistics` of the exchange factory manager with two routes consuming the same uri (now keyed by `url` and `routeId`). 6. `listEndpoints` of the endpoint registry with endpoints that only differ in a secret. It also reported `static=false, dynamic=false` for every endpoint with a secret, as it looked them up by the masked uri. And: 7. Choice `extendedInformation` **paired the wrong predicate with the matches when a when is disabled** (there is no filter for a disabled when), and showed a disabled otherwise. 8. **`ForceCompletionOnStop` of the aggregate MBean returned `CompletionFromBatchConsumer`** (`AggregateProcessor` gets the missing getter). The choice, doTry and `listTasks` tabular data have a new `index` item as their key (in the 4.23 upgrade guide). **Not changed (for a later look)** - `listEndpointServices` can have the same key for two routes consuming the same service. - The component verifier maps `INCOMPLETE_PARAMETER_GROUP` to `ILLEGAL_PARAMETER_GROUP_COMBINATION`. - The min/max processing time statistics can lose an update under concurrency. - The notification types advertised by the event notifier MBean do not match what it sends. The whole `camel-management` test suite passes. _Claude Code on behalf of Claus Ibsen_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
