Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process config::update/delete cluster events gracefully #9980

Merged
merged 3 commits into from
Feb 19, 2024

Commits on Feb 12, 2024

  1. Preserve runtime objects in a tmp file for the entire validation process

    Given that the internal `config::Update` cluster events are using this
    as well to create received runtime objects, we don't want to persist
    first the conf file and the load and validate it with `CompileFile`.
    Otherwise, we are forced to remove the newly created file whenever we
    can't validate, commit or activate it. This also would also have the
    downside that two cluster events for the same object arriving at the
    same moment from two different endpoints would result in two different
    threads simultaneously creating and loading the same config file -
    whereby only one of the surpasses the validation, while the other is
    facing an object `re-definition` error and tries to remove that config
    file it mistakenly thinks it has created. As a consequence, an object
    successfully created by the former is implicitly deleted by the latter
    thread, causing the objects to mysteriously disappear.
    yhabteab committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    008fcd1 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2024

  1. Configuration menu
    Copy the full SHA
    40011b0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    456144c View commit details
    Browse the repository at this point in the history