[pgpool-committers: 3682] pgpool: Back porting the improved failover command propagation mechanis

Muhammad Usama m.usama at gmail.com
Sat Nov 26 05:32:43 JST 2016


Back porting the improved failover command propagation mechanism from Pgpool-II 3.6

Overhauling the design of how failover, failback and promote node commands are
propagated to the watchdog nodes. Previously the watchdog on pgpool-II node that
needs to perform the node command (failover, failback or promote node) used to
broadcast the failover command to all attached pgpool-II nodes. And this
sometimes makes the synchronization issues, especially when the watchdog cluster
contains a large number of nodes and consequently the failover command sometimes
gets executed by more than one pgpool-II.

Now with this commit all the node commands are forwarded to the
master/coordinator watchdog, which in turn propagates to all standby nodes.
Apart from above the commit also changes the failover command interlocking
mechanism and now only the master/coordinator node can become the lock holder
so the failover commands will only get executed on the master/coordinator node.

Branch
------
V3_5_STABLE

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

Modified Files
--------------
src/include/pool.h                     |   15 +-
src/include/watchdog/watchdog.h        |    3 +
src/include/watchdog/wd_ipc_commands.h |   30 +-
src/include/watchdog/wd_ipc_defines.h  |   53 +-
src/include/watchdog/wd_json_data.h    |    2 +-
src/main/pgpool_main.c                 |  153 +-
src/pcp_con/pcp_worker.c               |   12 +-
src/pcp_con/recovery.c                 |    2 +-
src/protocol/pool_process_query.c      |    2 +-
src/protocol/pool_proto_modules.c      |    4 +-
src/utils/pool_signal.c                |    2 +-
src/utils/pool_stream.c                |   23 +
src/watchdog/watchdog.c                | 2448 +++++++++++++++++++++-----------
src/watchdog/wd_commands.c             |  408 ++----
src/watchdog/wd_json_data.c            |    6 +-
15 files changed, 1897 insertions(+), 1266 deletions(-)



More information about the pgpool-committers mailing list