davsclaus commented on PR #29398: URL: https://github.com/apache/camel/pull/29398#issuecomment-6718969745
Thanks for the review. All five points are fixed in d706831d5704: 1. **Outcome counts are global (High):** a rule now keeps what it did per route (`ChaosRule.InRoute`): its faults there, and an `Effect` with the outcomes of the exchanges it faulted there. The faults of an exchange remember the route each rule first faulted it in, and the outcome counts in that route as well as in the rule. An exchange sent to a route that a lifecycle rule took down counts in that route (`ChaosLifecycle.Fault.downRouteId()`). `ChaosAdvisor.tried()` reads the fired, recovered, handled and failed counts of the route. 2. **Three volatile writes (Medium):** the cache of the suggested kinds is one `Suggested` record (kinds, when, how many routes) in one volatile field, read once. 3. **Bound on the routes (Low):** a new route is put under a lock, with the size checked again inside it, so a rule follows at most `MAX_ROUTES` routes. A route that is known already takes no lock. 4. **Displaced Javadoc (Low):** `/** A recent fault of a rule. */` is back on `RecentFault`. 5. **Test gap:** `ChaosTriedTest.howItWentIsPerRoute` fires one rule in two routes: one handles the failure and the other has no error handler. Each route shows its own outcome (handled 1 and failed 0, failed 1 and handled 0), which the global counts would not. camel-chaos: 794 tests pass locally. _Claude Code on behalf of Claus Ibsen_ -- 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]
