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

Avoid fast past update restart race with concurrently created replica #11561

Commits on Dec 13, 2019

  1. Avoid fast past update restart race with concurrently created replica

    After the recent change to allow safe path updates to be restarted
    as fast path updates iff all observed document timestamps are equal,
    a race condition regression was introduced. If the bucket that the
    update operation was scheduled towards got a new replica concurrently
    created _between_ the time that safe path Gets were sent and received,
    it was possible for updates to be sent to inconsistent replicas. This
    is because the Get and Update operations use the current database
    state at _their_ start time, not a stable snapshot state from the start
    time of the two phase update operation itself.
    
    Add an explicit check that the replica state between sending Gets and
    Updates is unchanged. If it has changed, a fast path restart is _not_
    permitted.
    vekterli committed Dec 13, 2019
    Configuration menu
    Copy the full SHA
    16d71fb View commit details
    Browse the repository at this point in the history