shashank created CAMEL-26418:
--------------------------------
Summary: camel-chaos - stage 1b: faults at polls and at route
entry, corrupt, and expected outcomes with a verdict
Key: CAMEL-26418
URL: https://issues.apache.org/jira/browse/CAMEL-26418
Project: Camel
Issue Type: Improvement
Components: camel-core
Reporter: shashank
Assignee: shashank
CAMEL-26330 added camel-chaos with faults at the sends and steps of a running
application (apache/camel#28716). This ticket covers the rest of stage 1 of
{{design/chaos.adoc}}:
* *Faults at polls:* {{endpoint=}} / {{component=}} with {{at=poll}} for
polling consumers (file, ftp, ...), through the consumer's poll strategy.
* *Faults at route entry:* the {{route=}} target (route entry and lifecycle
only, not the sends and steps of the route), including {{corrupt}} of the
message at entry, and {{corrupt}} at sends.
* *{{error status=}}* for the http components (http, https, undertow,
vertx-http), so a fault looks like the HTTP status a real server would return.
* *Expected outcomes:* per-route counts (completed, failed, kept by the
consumer, redeliveries) and {{expect=<route>:<count> within=<duration>}} with a
pending state, and a verdict in the report ({{lost}} when exchanges do not
complete).
It also takes up the suggestions from the review of #28716:
# a specific error message for parameters that a target does not support;
# a version per report entry, so that a rule changed with {{changeRule}} can be
told apart from the one it replaced;
# docs: {{endpoint=*}} also matches the send to the dead letter channel, and
{{step=*}} also matches the steps inside {{onException}} / {{doCatch}};
# a WARN from camel-main when {{camel.chaos.*}} is set but camel-chaos is not
on the classpath (or in the control stage if camel-main cannot do it without
depending on camel-chaos);
# ended rules are dropped from the snapshot, and patterns are normalised once,
to trim the cost per send;
# the stress test uses Awaitility.
The live control (dev console, {{camel cmd chaos-*}}, {{camel get chaos}}, MCP
tools) and the lifecycle faults with a camel-test-dst world are separate
follow-ups, as in the design.
_Filed with Claude Code on behalf of allthingssecurity._
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)