Closed arohter closed 10 years ago
FYI the use of the zk fork hook ( https://github.com/fanhattan/redis_failover/compare/conn_handling_v2_nofork...conn_handling_v2_forkhook ) still causes immediate deadlocks in our env, despite running latest versions of zk/zookeeper.
Are you able to get a ruby thread dump of all threads in one of these deadlocks?
On Mon, Mar 17, 2014 at 12:52 AM, arohter notifications@github.com wrote:
FYI the use of the zk fork hook ( https://github.com/fanhattan/redis_failover/compare/conn_handling_v2_nofork...conn_handling_v2_forkhook ) still causes immediate deadlocks in our env, despite running latest versions of zk/zookeeper.
Reply to this email directly or view it on GitHub: https://github.com/ryanlecompte/redis_failover/pull/73#issuecomment-37791310
Closing this PR as obsolete. We've been unable to fix the zk deadlock issue, and have since moved to using https://github.com/coreos/etcd as the redis_failover backend in production. We've also improved the election logic and fixed various edge cases/failures that we've run into in our high-load use. New PR coming soon!
More robust zk client error handling: support progressively more severe retry logic. Automatic fork and InheritedError handling: Lazy reconnects reduce zookeeper and redis server load. Reduces surface for kernel mutex deadlocks in forking env. Trace connection debug logging.
This is redo of https://github.com/ryanlecompte/redis_failover/pull/66