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]

Reply via email to