Skip to content

Conversation

@sanjams2
Copy link
Contributor

Summary

Addresses #24281

The blackhole sink was consuming events without updating finalizer status, causing sources that depend on acknowledgements (like aws_s3 with SQS) to never receive delivery confirmation. This resulted in SQS messages never being deleted and queue depth growing indefinitely.

Added proper finalizer handling by taking finalizers from events and marking them as delivered after processing, matching the pattern used by other sinks like console.

Vector configuration

  sources:
    s3_source:
      type: aws_s3
      sqs:
        queue_url: "https://sqs.us-east-2.amazonaws.com/xxx/my-queue"

  sinks:
    blackhole:
      type: blackhole
      inputs: [s3_source]
      acknowledgements:
        enabled: true

How did you test this PR?

make test

Change Type

  • Bug fix
  • New feature
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the no-changelog label to this PR.

References

Notes

  • Please read our Vector contributor resources.
  • Do not hesitate to use @vectordotdev/vector to reach out to us regarding this PR.
  • Some CI checks run only after we manually approve them.
    • We recommend adding a pre-push hook, please see this template.
    • Alternatively, we recommend running the following locally before pushing to the remote branch:
      • make fmt
      • make check-clippy (if there are failures it's possible some of them can be fixed with make clippy-fix)
      • make test
  • After a review is requested, please avoid force pushes to help us review incrementally.
    • Feel free to push as many commits as you want. They will be squashed into one before merging.
    • For example, you can run git merge origin master and git push.
  • If this PR introduces changes Vector dependencies (modifies Cargo.lock), please
    run make build-licenses to regenerate the license inventory and commit the changes (if any). More details here.

Addresses vectordotdev#24281

The blackhole sink was consuming events without updating finalizer status,
causing sources that depend on acknowledgements (like aws_s3 with SQS) to
never receive delivery confirmation. This resulted in SQS messages never
being deleted and queue depth growing indefinitely.

Added proper finalizer handling by taking finalizers from events and
marking them as delivered after processing, matching the pattern used
by other sinks like console.
@sanjams2 sanjams2 requested a review from a team as a code owner November 20, 2025 04:17
@github-actions github-actions bot added the domain: sinks Anything related to the Vector's sinks label Nov 20, 2025
@github-actions
Copy link

github-actions bot commented Nov 20, 2025

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

@sanjams2
Copy link
Contributor Author

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

@sanjams2
Copy link
Contributor Author

recheck

1 similar comment
@sanjams2
Copy link
Contributor Author

recheck

@Mr-iX
Copy link

Mr-iX commented Nov 26, 2025

When could this be merged and a new version released? We're also affected by this issue and would hope for a fix soon.

Copy link
Contributor

@thomasqueirozb thomasqueirozb left a comment

Choose a reason for hiding this comment

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

Nice, thanks for this! Once merged we can also remove run_and_assert_nonsending_sink_compliance. I'll follow up in a separate PR

@thomasqueirozb
Copy link
Contributor

@Mr-iX Vector adheres to the release schedule tracked by https://calendar.vector.dev. In the meantime, you could always use nightlies (once this is merged).

@thomasqueirozb thomasqueirozb added this pull request to the merge queue Nov 26, 2025
Merged via the queue into vectordotdev:master with commit df4f362 Nov 26, 2025
61 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Nov 26, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

domain: sinks Anything related to the Vector's sinks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

blackhole sink does not implement end-to-end acknowledgements despite documentation claiming support

3 participants