davsclaus opened a new pull request, #29561:
URL: https://github.com/apache/camel/pull/29561

   [CAMEL-26803](https://issues.apache.org/jira/browse/CAMEL-26803): in a run 
of `camel cmd chaos-explore` (CAMEL-26760), the model fed `direct:parked` for 
three hypotheses about route `refunds`. Refunds got no message, so those 
experiments said nothing. Since CAMEL-26790 they end INCONCLUSIVE ("route 
refunds had no messages: feed it"), but only after the budget has been spent on 
them.
   
   Now the experiment is refused before it begins, and the model corrects the 
feed, as it did in run 2 with a feed that reached no route:
   
   ```
   ERROR: The feed goes to route parked, but not to route refunds of the 
expectations, so the experiment would say
   nothing: feed refunds instead (its id as the feed)
   ```
   
   **How it works**
   - **The CLI:** `ChaosExperimentRun` passes the route the feed reaches as 
`feedRoute` with `experiment-begin`. The CLI connector calls 
`ChaosManager.beginExperiment(hypothesis, rules, feedRoute)`; the two-argument 
method stays.
   - **camel-chaos:** `ChaosAdvisor.feedMisses` refuses the experiment when no 
route of its expectations is fed. A route counts as fed when the route the feed 
reaches leads to it, or when a route that makes its own messages (a timer, a 
scheduler) leads to it. That way an expectation on `shipping` is not refused 
because the timer-driven orders route feeds it, whatever the feed is.
   - **The walk:** the CAMEL-26797 walk becomes `ChaosAdvisor.reach`, shared 
with the lost-without-hand-off warning, which behaves as before. For the feed 
it also follows HTTP calls to an HTTP server route of the integration.
   - **Not checked:** a route with a send that is known only when it sends 
(`toD`, `wireTap`, `recipientList`), so the check never refuses a valid 
experiment.
   - **HTTP matching:** while testing, the HTTP matching from CAMEL-26791 
(`receiver`) turned out to know only `http:` calls to `platform-http` routes. 
It now takes any HTTP producer (`http`, `netty-http`, `undertow`, `vertx-http`) 
to any HTTP server route on this machine, matched by path, and by port when the 
server route names one.
   
   **Tests**
   - `ChaosFeedReachTest`: a timer that calls a netty-http route of the same 
context and hands off to seda, a direct call, a dynamic send, and the two 
refusals, with nothing added when refused.
   - `ChaosExperimentRunTest`: the CLI sends `feedRoute`.
   - All 846 camel-chaos tests pass.
   
   **Docs:** `chaos.adoc` and its catalog copy, `camel-jbang-managing.adoc`, 
and the exploration playbook.
   
   _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