Skip to content

fix(topology): consume pending component reloads#25911

Draft
ArunPiduguDD wants to merge 2 commits into
masterfrom
arun.pidugu/fix-config-reloading-bug
Draft

fix(topology): consume pending component reloads#25911
ArunPiduguDD wants to merge 2 commits into
masterfrom
arun.pidugu/fix-config-reloading-bug

Conversation

@ArunPiduguDD

@ArunPiduguDD ArunPiduguDD commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Vector can explicitly reload selected components even when their serialized configuration has not changed. This is used, for example, when a file watched by a component changes.

The selected component names currently remain in the pending reload set after the reload finishes. Consider this sequence:

  1. A watched file for component A changes, so Vector explicitly reloads A.
  2. Later, an unrelated configuration reload changes only component B.
  3. Because A is still in the pending set, Vector unnecessarily restarts both A and B.

Repeated restarts can reset task-local in-memory state and cause unnecessary reconnections, health checks, or brief disruption. This change consumes the pending set when calculating the next topology update. An explicit reload therefore applies once, while a later request can still add the component again.

Vector configuration

Not applicable. This behavior is covered by topology reload tests.

How did you test this PR?

  • Added a regression test that verifies a pending component reload is consumed after the next topology reload and can be requested again.
  • cargo test pending_component_reloads_are_consumed_after_reload --lib --no-default-features
  • make check-clippy
  • cargo fmt --all -- --check
  • ./scripts/check_changelog_fragments.sh

make check-fmt could not complete because the environment does not have the YAML formatter executable available.

Change Type

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

Is this a breaking change?

  • Yes
  • No

Does this PR include user facing changes?

  • Yes. A changelog fragment has been added.
  • No. A maintainer will apply the no-changelog label to this PR.

References

Consume explicit component reload requests after the next topology reload.

Environment: Datadog workspace

Co-Authored-By: Pi OpenAI GPT-5 <noreply@pi.dev>
@github-actions github-actions Bot added the domain: topology Anything related to Vector's topology code label Jul 20, 2026
Explain how repeated component reloads can reset in-memory state.

Environment: Datadog workspace

Co-Authored-By: Pi OpenAI GPT-5 <noreply@pi.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain: topology Anything related to Vector's topology code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant