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

admin: read-after-write consistency for config status on leader node #5835

Merged
merged 3 commits into from
Aug 16, 2022

Commits on Aug 4, 2022

  1. admin: read-after-write consistency for config status on leader node

    Previously, after writing a config update, API clients could do
    a /status query to the same node and not see any nodes (including
    the leader that they just PUT to) reflect the new version.
    
    With this change, if the client is talking to the controller leader,
    it will reliably see the new config version reflected in the /status
    result when querying the same node again after a PUT.
    
    This is a little subtle and later we should make simpler rules
    for this via a higher level "wait for status updates" as part
    of the PUT call itself: redpanda-data#5833
    
    Related: redpanda-data#5609
    jcsp committed Aug 4, 2022
    Configuration menu
    Copy the full SHA
    6ba1128 View commit details
    Browse the repository at this point in the history
  2. test: add config test_status_read_after_write_consistency

    This tests the new behaviour in the previous commit.
    jcsp committed Aug 4, 2022
    Configuration menu
    Copy the full SHA
    c35eb1d View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2022

  1. test: wait for cluster config status on controller leader

    If we query another node, it is possible to see persistent
    status updates for the nodes _other_ than the one we are
    querying, and non-persistent update to the stauts of the node
    we are querying, that passes the version check.
    
    Then if we query status on a different node a moment later,
    we will see an older state for the node we first queried.
    
    This only matters for tests that are actively trying to read the
    status _again_ after wait_for_version_sync.  wait_for_version_sync
    was already correct inasmuchas when it complete the config has
    been applied everywhere.
    jcsp committed Aug 8, 2022
    Configuration menu
    Copy the full SHA
    13d211a View commit details
    Browse the repository at this point in the history