Skip to content

feat(nats source): support end-to-end acknowledgements - #26397

Open
ryanbrooks-tomtom wants to merge 5 commits into
vectordotdev:masterfrom
ryanbrooks-tomtom:fix/nats-end-to-end-ack
Open

ryanbrooks-tomtom wants to merge 5 commits into
vectordotdev:masterfrom
ryanbrooks-tomtom:fix/nats-end-to-end-ack

Conversation

@ryanbrooks-tomtom

@ryanbrooks-tomtom ryanbrooks-tomtom commented Sep 16, 2026

Copy link
Copy Markdown

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

acknowledgements:
  enabled: true

sources:
  nats_in:
    type: nats
    url: nats://localhost:4222
    subject: events
    jetstream:
      stream: events
      consumer: vector
    acknowledgements:
      enabled: true

sinks:
  downstream:
    # Add sink-specific configuration.
    inputs:
      - nats_in
    acknowledgements:
      enabled: true

How did you test this PR?

  • cargo vdev check fmt
  • cargo vdev check rust
  • make test SCOPE="nats"
  • nats_jetstream_acks_delivered_message verifies successful downstream delivery clears JetStream ACK-pending state.
  • nats_jetstream_does_not_ack_errored_delivery verifies errored events remain ACK-pending and are redelivered.
  • nats_jetstream_extends_ack_wait_until_delivery verifies progress acknowledgements prevent redelivery during delayed finalization.
  • nats_jetstream_keeps_ack_progress_while_output_is_blocked verifies downstream backpressure does not pause progress acknowledgements.
  • nats_jetstream_requires_explicit_ack_policy verifies acknowledgement-enabled sources reject incompatible consumer policies.
  • nats_core_preserves_valid_frames_after_decode_error verifies valid Core NATS frames are retained around recoverable decoding errors.

Is this a breaking change?

  • Yes
  • No

Does this PR include user facing changes?

  • Yes. A changelog fragment is included.
  • No.

@ryanbrooks-tomtom
ryanbrooks-tomtom requested a review from a team as a code owner September 16, 2026 14:33
@github-actions github-actions Bot added the domain: sources Anything related to the Vector's sources label Sep 16, 2026
@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@ryanbrooks-tomtom

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread src/sources/nats/source.rs Outdated
Comment thread src/sources/nats/source.rs Outdated
Comment thread src/sources/nats/source.rs
Comment thread src/sources/nats/source.rs Outdated
Comment thread src/sources/nats/source.rs Outdated
@ryanbrooks-tomtom
ryanbrooks-tomtom marked this pull request as draft September 16, 2026 14:56
@ryanbrooks-tomtom
ryanbrooks-tomtom marked this pull request as ready for review September 16, 2026 15:10

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread src/sources/nats/source.rs
Comment thread src/sources/nats/source.rs Outdated
@thomasqueirozb thomasqueirozb added the source: nats Anything `nats` source related label Sep 16, 2026
@thomasqueirozb thomasqueirozb changed the title feat(sources/nats): support end-to-end acknowledgements feat(nats source): support end-to-end acknowledgements Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain: sources Anything related to the Vector's sources source: nats Anything `nats` source related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants