Skip to content
  • Shawn Routhier's avatar
    [master] Patch the failover code to avoid deadlocks · 21d30347
    Shawn Routhier authored
    Patch for 36810 & 20352
    This coves several related problems
    1) When the primary is in conflict done it allows the secondary to
    transition around resolution interrupted and potentical conflict previously
    the primary would die on an illegal state.
    2) It allows the servers to restart a bind update request.  Previously if
    one of the servers sent an udpate request and there died (or had the communications
    interrupted) in some states the first server wouldn't retransmit a new
    update request and the other server wouldn't send any bind updates. This
    was noticed in potential conflict.
    3) Updated the state transitions to move the leases on the ack queue
    back to the update queue in case of conflict-done as we might need to
    retransmit them all.
    4) Updated a transition from startup to potentical conflict instead
    of resolution interrupted when the servers reconnect during the startup
    phase in order to avoid a diffferent dead lock.