Repository navigation
CAMEL-26699: camel-jbang - chaos screen: poll targets, pick order, expectation count, effect of delays and polls - #29358
Conversation
…pectation count, effect of delays and polls Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
gnodet-bot
left a comment
There was a problem hiding this comment.
LGTM. No issues found.
The expectation count fix in ChaosRule.recordAt() is correct — count continues after decision without affecting the lost calculation (guarded by op != AT_MOST and Math.max(0, ...)). The poll/scheduled consumer distinction (schedulerClass != null) cleanly excludes timers. The producer pick-order logic and Esc key gating are well-scoped, and the new tests validate the pre-fix behaviour correctly.
This review was generated by an AI agent, Hermès on behalf of @gnodet.
|
🧪 CI tested the following changed modules:
🔬 Scalpel shadow comparison — Scalpel: 11 of 717 tested, 27 compile-only — current: 11 all testedMaveniverse Scalpel detected 11 affected modules (current approach: 11). Skip-tests mode would test 11 modules (2 direct + 9 downstream), skip tests for 27 (generated code, meta-modules) Modules Scalpel would test (11)
Modules with tests skipped (27)
All tested modules (38 modules, 6m 16s total)Total reactor time: 6m 16s
Top 20 slowest modules:
|
CAMEL-26699: fixes for what a hands-on round of the chaos screen turned up, using a small demo shop.
camel-chaos
expect=orders:handled<=0stayed at "1 handled" while the rule's effect and the route counts said 6. Now the reason says "6 exchanges handled ..., at most 0 expected".lostis unaffected: it only reads the count of an unmetcompletedexpectation, which was never decided early.Terminal UI, chaos screen
!offer only consumers that poll on a schedule. The consumers console marks a timerscheduledas well, butat=pollhooks only a scheduled poll consumer, which is the one that has aschedulerClass. The rule check already warned about a timer; the form no longer offers it.outendpoint, and it has a recipe of its own. The reply side ofplatform-http(anoutendpoint that a route consumes) is no longer offered as a send.error status 503,error ConnectException,delay 300ms..800ms,stop 5s ×3 every 20s. A flapping rule was cut tolifecycle action=stop duration=5. The full rule stays in the title of the detail panel.◷instead of…, because62↩ 1…read like cut text. The column is as wide as its counts need.12 polls failedin the table, and in the detail "12 polls failed: the consumer polls again on its schedule". Before, it was empty.×N.Terminal UI, MCP
MonitorTab.isConfirmCancelledByEsc()); only the Chaos tab does. Then a lone Esc fromtui_send_keysgets through, so an AI can close a confirm it opened; before, it stayed until a person pressed Esc. Every other key, and Esc for every other dialog, is still dropped (CAMEL-25444). The guard is unchanged for the dialogs where Esc means another answer, such as an AI edit waiting to be saved.Not in this PR:
!aftertui_navigateto a Diagram node took the route entry once. I could not reproduce it reliably to find the cause, so it stays open on the JIRA.Tests
aDecidedExpectationCountsOnUntilTheTimeIsUp. All 651 camel-chaos tests pass.ChaosRecipesTest), short fault, poll effect, in-flight mark, grouped faults and the routes line (ChaosTabRenderTest), and Esc (ConfirmationsTest). All 2330 TUI module tests pass.LaunchManagerOutcomeTestfailed once and passed on the rerun; it's unrelated.Claude Code on behalf of Claus Ibsen
🤖 Generated with Claude Code
https://claude.ai/code/session_012nJsFsjqqFiwroeHRWaKbS