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

storage: rework AdminChangeReplicas for atomic membership changes #39611

Merged
merged 1 commit into from
Aug 13, 2019

Commits on Aug 13, 2019

  1. storage: rework AdminChangeReplicas for atomic membership changes

    Following the plan laid out in cockroachdb#39485, this adds API support for
    general replication changes to `AdminChangeReplicasRequest`.
    
    `(*DB).AtomicChangeReplicas` will now accept an arbitrary set
    of additions/removals, though only on paper - the changes will
    be executed individually.
    
    In 19.2, production code will not use this request - it exists solely
    for testing. The single user of atomic replication changes will be the
    replicate queue, which has direct access to the replication change code
    on the local replicas and thus does not need to use this request type.
    
    The compatibility story is thus straightforward (this request is never
    persisted): We simply populate both the deprecated and the new field (and
    it isn't safe to emit "mixed" changes until all nodes run 19.2 and it's
    not worth plumbing a setting around), and in 20.1 we remove the old
    fields.  A maybe-snag is that as a result, there are a few months left
    in this release in which folks may accidentally mix additions and
    removals in a replica change without proper version gating. This wasn't
    deemed very likely.
    
    Release note: None
    tbg committed Aug 13, 2019
    Configuration menu
    Copy the full SHA
    66acbc0 View commit details
    Browse the repository at this point in the history