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

Election RPC service #7634

Merged
merged 11 commits into from
Apr 8, 2017
Merged

Commits on Apr 7, 2017

  1. Configuration menu
    Copy the full SHA
    a6cab69 View commit details
    Browse the repository at this point in the history
  2. concurrency: return v3.GetResponse for Election.Leader()

    The full information about the leader's key is necessary to
    safely use elections with transactions. Instead of returning
    only the value on Leader(), return the entire GetResposne.
    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    4b5bb7f View commit details
    Browse the repository at this point in the history
  3. concurrency: only delete on election resignation if create revision m…

    …atches
    
    Addresses a case where two clients share the same lease. A client resigns but
    disconnects / crashes and doesn't realize it. Another client reuses the
    lease and gets leadership with a new key. The old client comes back and
    tries to resign again, revoking the new leadership of the new client.
    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    d1ae4cd View commit details
    Browse the repository at this point in the history
  4. concurrency: support resuming elections if leadership already held

    If a client already knows it holds leadership, let it create an
    election object with its leadership information.
    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    80c1b9c View commit details
    Browse the repository at this point in the history
  5. concurrency: don't skip leader updates in Observe()

    The Get for the leader key will fetch based on the latest revision
    instead of the deletion revision, missing leader updates between
    the delete and the Get.
    
    Although it's usually safe to skip these updates since they're
    stale, it makes testing more difficult and in some cases the
    full leader update history is desirable.
    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    4b4f5be View commit details
    Browse the repository at this point in the history
  6. v3rpc: force RangeEnd=nil if length is 0

    gRPC will replace empty strings with nil, but for the embedded case it's
    possible for []byte{} to slip in and confuse the single key / >= key
    watch logic.
    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    135a407 View commit details
    Browse the repository at this point in the history
  7. scripts: update genproto.sh to include v3election

    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    9ba69ff View commit details
    Browse the repository at this point in the history
  8. v3election: Election RPC service

    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    dc8115a View commit details
    Browse the repository at this point in the history
  9. integration: v3 election rpc tests

    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    bf047ed View commit details
    Browse the repository at this point in the history
  10. embed: add Election service

    Anthony Romano committed Apr 7, 2017
    Configuration menu
    Copy the full SHA
    78422ea View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5f366db View commit details
    Browse the repository at this point in the history