feat(nats source): support end-to-end acknowledgements - #26397
ryanbrooks-tomtom wants to merge 5 commits into
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
I have read the CLA Document and I hereby sign the CLA |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6cd8c4df62
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a4ab985090
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Summary
Adds opt-in end-to-end acknowledgement support for NATS JetStream messages. A
message is acknowledged only after downstream event finalization succeeds.
References
Related: #26311
Vector configuration
How did you test this PR?
cargo vdev check fmtcargo vdev check rustmake test SCOPE="nats"nats_jetstream_acks_delivered_messageverifies successful downstream delivery clears JetStream ACK-pending state.nats_jetstream_does_not_ack_errored_deliveryverifies errored events remain ACK-pending and are redelivered.nats_jetstream_extends_ack_wait_until_deliveryverifies progress acknowledgements prevent redelivery during delayed finalization.nats_jetstream_keeps_ack_progress_while_output_is_blockedverifies downstream backpressure does not pause progress acknowledgements.nats_jetstream_requires_explicit_ack_policyverifies acknowledgement-enabled sources reject incompatible consumer policies.nats_core_preserves_valid_frames_after_decode_errorverifies valid Core NATS frames are retained around recoverable decoding errors.Is this a breaking change?
Does this PR include user facing changes?