davsclaus opened a new pull request, #29517: URL: https://github.com/apache/camel/pull/29517
[CAMEL-26790](https://issues.apache.org/jira/browse/CAMEL-26790): when the recorded runs of `camel cmd chaos-explore` (CAMEL-26760) were read afterwards, three kinds of experiment had PASSed without being able to tell anything. In each case camel-chaos now catches it and says why, the same way as the other fixes from these runs: | Run 3 | What happened | Now | |---|---|---| | experiment 10 | `route=payment error rate=0.05` fired 0 times over about 40 messages (by chance, 12%), and the experiment passed | `INCONCLUSIVE`, `reason`: "its faults never fired, so its expectations say nothing about them" | | experiment 9 | expected `refunds:maxTime<=30s`, passed while 2 refunds failed | still PASS, with `alsoFailed: {refunds: 2}` and the line "also failed, in no expectation: refunds 2" | | experiment 8 | `expect=parked:failed<=0` on a route whose error handler is a dead letter channel: always met (7 orders that could not be parked were only logged) | a warning on the rule (`chaos-add`, `--dry-run`, `experiment-begin`): nothing fails there, `expect=parked:handled<=0` counts what the dead letter channel handled | Changes: - `ChaosExperiment`: the verdict is no longer `PASS` when no fault fired. It is `PENDING` while the experiment is open and `INCONCLUSIVE` once it has ended. An unmet expectation is still `FAIL`, with its evidence. An `INCONCLUSIVE` verdict has a `reason`, also for the existing "ended before an expectation was decided" case. `alsoFailed` lists the routes that failed while no expectation of the experiment counts their failures. - `ChaosManager`: a new warning for a `failed` expectation on a route with a dead letter channel. It reuses `ChaosAdvisor.deadLetterUri`. - `camel get chaos --report` prints the reason and the also-failed line. - `chaos.adoc` and its catalog copy are updated. Tests: three new ones in `ChaosExperimentTest` (never fired, also failed, the dead-letter-channel warning) and `ListChaosTest`, which is extended. camel-chaos 829 tests green, `ListChaosTest` green. **Stacked on #29512 (CAMEL-26789)**, because it changes the same verdict code. Retarget to main once that merges. Merge note: #29498 moves the experiment printing from `ListChaos.printExperiment` to `experimentLines`. Whichever of these lands second carries the new lines across: lost at the dead letter channel (#29512), and the reason and also-failed lines (this PR). The AI gets the new fields without changes, as the experiment tool returns the whole result. _Claude Code on behalf of Claus Ibsen_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_012nJsFsjqqFiwroeHRWaKbS -- 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]
