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

clientv3: don't race on upc/downc/switch endpoints in balancer #7842

Merged
merged 2 commits into from
May 3, 2017

Commits on May 2, 2017

  1. clientv3: don't race on upc/downc/switch endpoints in balancer

    If the balancer update notification loop starts with a downed
    connection and endpoints are switched while the old connection is up,
    the balancer can potentially wait forever for an up connection without
    refreshing the connections to reflect the current endpoints.
    
    Instead, fetch upc/downc together, only caring about a single transition
    either from down->up or up->down for each iteration
    
    Simple way to reproduce failures: add time.Sleep(time.Second) to the
    beginning of the update notification loop.
    Anthony Romano committed May 2, 2017
    Configuration menu
    Copy the full SHA
    43e5f89 View commit details
    Browse the repository at this point in the history
  2. integration: close accepted connection on stopc path

    Connection pausing added another exit condition in the listener
    path, causing the bridge to leak connections instead of closing
    them when signalled to close. Also adds some additional Close
    paranoia.
    
    Fixes etcd-io#7823
    Anthony Romano committed May 2, 2017
    Configuration menu
    Copy the full SHA
    61abf25 View commit details
    Browse the repository at this point in the history