davsclaus opened a new pull request, #24833:
URL: https://github.com/apache/camel/pull/24833
## Summary
_Claude Code on behalf of davsclaus_
`SagaProducer` (the `saga:complete` / `saga:compensate` component) read the
saga ID exclusively from the message header. CAMEL-23469 fixed `SagaProcessor`
to dual-read from `ExchangeExtension` first (surviving `removeHeaders("*")`),
but `SagaProducer` was not updated — so MANUAL-completion saga routes that
strip headers got `IllegalStateException`.
### Changes
- `SagaProducer.process()`: read
`ExchangeExtension.getSagaLongRunningAction()` first, fall back to header —
mirrors the pattern in `SagaProcessor.getCurrentSagaCoordinator()`
- Fixed error message to distinguish "cannot complete" vs "cannot compensate"
- Added `SagaProducerRemoveHeadersTest` covering both `saga:complete` and
`saga:compensate` after `removeHeaders("*")`
## Test plan
- [x] New `SagaProducerRemoveHeadersTest` — 2 tests: manual complete and
manual compensate after `removeHeaders("*")`
- [x] Existing `SagaComponentTest` — 5 tests still pass (no regression)
- [x] All 7 tests pass in `mvn verify`
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude Opus 4.6 <[email protected]>
--
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]