[pgpool-committers: 1016] pgpool: Fix possible deadlock during faiover when using three pgpools w

Yugo Nagata nagata at sraoss.co.jp
Fri May 31 17:19:06 JST 2013


Fix possible deadlock during faiover when using three pgpools with watchdog.

- In interlocking of failover command, wait for contactable master pgpool
  befor assuming lock holder (= command executor) because master pgpool
  decide who should become the lock holder.
- Reject failover request from other pgpool if failover has started alread.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=a48191f07c31247fb6b1eef100098e4bd6f16227

Modified Files
--------------
main.c                  |   44 +++++++++-----
pool_config.c           |    1 -
watchdog/watchdog.c     |    3 +
watchdog/watchdog.h     |    6 +-
watchdog/wd_child.c     |  154 +++++++++++++++++++++++++++++++++++------------
watchdog/wd_ext.h       |    4 ++
watchdog/wd_heartbeat.c |   17 +++++-
watchdog/wd_interlock.c |   80 ++++++++++++++++++++----
watchdog/wd_lifecheck.c |   96 ++++++++++++++++++++---------
watchdog/wd_list.c      |   94 ++++++++++++++++++++++++++---
watchdog/wd_packet.c    |   93 ++++++++++++++++++++--------
11 files changed, 459 insertions(+), 133 deletions(-)



More information about the pgpool-committers mailing list