Skip to content

Conversation

nekorro
Copy link
Contributor

@nekorro nekorro commented Oct 1, 2025

Summary

Config watcher no longer ignores subsequent events during the delay period, but collects the changed paths and reloads the corresponding components.

Vector configuration

./config/sources.yaml

sources:
  test-source:
    type: demo_logs
    interval: 2
    format: json

./config/transforms.yaml

transforms:
  test-embedded-vrl:
    type: "remap"
    source: |-
      .debug = "embedded_01"
    inputs:
      - test-source
  test-external-vrl:
    type: "remap"
    file: "./config/test.vrl"
    inputs:
      - test-source

./config/sinks.yaml

sinks:
  console:
    inputs:
      - test-embedded-vrl
      - test-external-vrl
    target: stdout
    type: console
    encoding:
      codec: json

./config/test.vrl

.debug = "external_01"

How did you test this PR?

  1. Run vector with vector -vv -C ./config -w
  2. Ensure that output contains events from both transforms
image image
  1. Make copy of config folder cp -R config config-copy
  2. Change content of test.vrl to .debug = "external_01_modified" inside config-copy
  3. Change source of test-embedded-vrl to .debug = "embedded_01_modified" inside config-copy
  4. Replace config folder with copy rm -rf config && cp -R config-copy config
  5. Ensure that output contains events from both transforms with modified values
image image image

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.

Config watcher no longer ignores subsequent events during the delay
period, but collects the changed paths and reloads the corresponding
components
@nekorro nekorro requested a review from a team as a code owner October 1, 2025 14:00
Copy link
Member

@pront pront left a comment

Choose a reason for hiding this comment

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

Thanks!

@pront pront enabled auto-merge October 1, 2025 15:32
Fixes "No path was found" error during rm+mv operations on config files
and makes the watcher resilient to temporary path deletions
auto-merge was automatically disabled October 7, 2025 09:19

Head branch was pushed to by a user without write access

@pront pront enabled auto-merge October 7, 2025 13:51
@pront pront disabled auto-merge October 7, 2025 13:51
@pront
Copy link
Member

pront commented Oct 7, 2025

Hey @nekorro, I noticed you pushed a fix. Did you have a chance to re-test the latest version? Is this ready for merging?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vector does not reload vrl file

2 participants