Steve Singer ssinger at ca.afilias.info
Fri Feb 3 17:13:40 PST 2012
Significant changes to failover.

We now have explicit support for having multiple nodes FAILOVER at the same time.
The FAILOVER command will take a list of these nodes.

The DROP NODE command can also take a list of multiple nodes that get dropped
at once.

The FAILOVER code changes with this commit.
You can now only failover to nodes that are a failover candidate
as listed in the sl_failover_targets view. This nodes must have paths
to all the nodes the failed node has paths to and be a direct
subscriber to all sets the failed node is an origin for.  See
the patch + documentation changes for a complete list of restrictions.
These restrictions were put in place to avoid complications in
getting a complete path+listen network where a non-direct subscriber
might be the most ahead node.

The FAILOVER command now promotes the most ahead node to be a master
and uses MOVE SET to make the desired backup node the new master.

The FAILOVER_NODE event replaces the FAILOVER_SET event and handles all
sets on that node.  The event now comes from the most-ahead node using
the most ahead node's event_id events from the old origin are no longer faked.
This works because of the restrictions discussed above.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=slony1-engine.git;a=commitdiff;h=5e625828d1aefdeabd4ac1e138f54f8aae686f2b

Modified Files
--------------
clustertest/disorder/tests/BasicTest.js         |   49 +-
clustertest/disorder/tests/Failover.js          |   51 +-
clustertest/disorder/tests/MultinodeFailover.js |  150 +++
clustertest/disorder/tests/MultipleOrigins.js   |   25 +-
clustertest/disorder/tests/disorder_tests.js    |    4 +-
doc/adminguide/slonik_ref.sgml                  |   41 +-
src/backend/slony1_base.sql                     |   61 +-
src/backend/slony1_funcs.sql                    |  620 ++++++-----
src/slon/local_listen.c                         |    4 +-
src/slon/remote_worker.c                        |  113 ++-
src/slon/slon.c                                 |    3 +-
src/slonik/dbutil.c                             |    2 +-
src/slonik/parser.y                             |  111 ++-
src/slonik/slonik.c                             | 1447 +++++++++++++----------
src/slonik/slonik.h                             |   16 +-
15 files changed, 1734 insertions(+), 963 deletions(-)



More information about the Slony1-commit mailing list