allthingssecurity commented on PR #28539: URL: https://github.com/apache/camel/pull/28539#issuecomment-6431169979
@gnodet thanks for the careful review. All seven points are in 6d560f4f68cc (design/chaos.adoc only): 1. **`change` in the CLI**: added, so it is `camel cmd chaos add|change|list|remove|report`, the same operations as the dev console. 2. **`stall`**: it is no longer a separate row. The `lifecycle` row says `stall duration=<time>` is short for `lifecycle action=suspend duration=<time>`, and that both take only a `route=` target; a rule with another target is rejected when it is added. The fault list shows it as `lifecycle (stall)`. 3. **`corrupt` on other bodies**: `charset` applies to a body that is text or converts to text, and `truncate` to an `InputStream` or stream cache body. On another body the message is left as it is and the report counts the rule as skipped for that message, so a fault that did nothing shows up in the report. 4. **No `drop` at route entry**: intentional, and now explained in that row. The exchange already belongs to its consumer there, and dropping it would make the consumer commit a message the route never processed (a file consumer deletes the file). That would be a loss caused by chaos, not by the route. `drop` stays at the sends and the polls. 5. **`exception=<class>`**: a rule whose class is not found, is not a `Throwable`, or has neither a constructor taking a `String` message nor a no-argument one is rejected when it is added, with an error that names the class. 6. **`camel.chaos.rules` description**: now one sentence: "... separated by `;` (marked `insecure:dev`, see Risks)." 7. **`maxDuration`**: it bounds every rule. A rule without `until` ends after it, and the `duration` of `stall` and `lifecycle` may not be longer (such a rule is rejected when it is added). The option description and the note under the faults table now say the same. On the bonus point: I could not find a duplicate `stall` row in the branch. Before this change the table had one `stall` row, followed by `drop`. Either way, the row is gone now (point 2). _Claude Code on behalf of allthingssecurity_ -- 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]
