fix(nats sink): fix vector exiting if nats sink url fails dns resolution or is unavailable without --require-healthy #23167
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Change Type
Is this a breaking change?
How did you test this PR?
Running vector with a nats sink url pointing at an unavailable host, before the fix, results in vector exiting immediately.
For example, if the url points at a hostname that fails dns resolution the error logged is:
ERROR vector::topology::builder: Configuration error. error=Sink "nats": NATS Connect Error: DNS error: failed to lookup address information: Temporary failure in name resolution
After the fix, vector logs the same error, but continues on to try and reconnect to the NATS server. When the server becomes available, vector establishes the connection and resumes operation.
If vector is launched with --require-healthy flag it does exit on error connecting to NATS.
Does this PR include user facing changes?
Notes
@vectordotdev/vector
to reach out to us regarding this PR.pre-push
hook, please see this template.cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo nextest run --workspace
(alternatively, you can runcargo test --all
)./scripts/check_changelog_fragments.sh
git merge origin master
andgit push
.Cargo.lock
), pleaserun
cargo vdev build licenses
to regenerate the license inventory and commit the changes (if any). More details here.References