Steve Singer ssinger at ca.afilias.info
Wed May 4 08:45:57 PDT 2011
Provide a way of resetting the per session datastructure
that stores the cluster status in the C functions.

cloneFinish() changes the sequence sl_local_node_id but the value
is cached in the C functions per session.  If getLocalNodeId()
has already been called in the current session cloneNode will
do the wrong thing because subsequent calls to getLocalNodeId()
will return the old value.

With the auto-wait-for changes slonik typically calls
getLocalNodeId() before submitting commands this exposes
this bug.

Here we provide a C function that resets the cluster status
and have the cloneNode function call this after changing
the sl_local_node_id value.

Branch
------
master

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

Modified Files
--------------
RELEASE                      |    3 +-
src/backend/slony1_funcs.c   |   43 +++++++++++++++++++++++++++++++++++++++++-
src/backend/slony1_funcs.sql |    7 +++++-
3 files changed, 50 insertions(+), 3 deletions(-)



More information about the Slony1-commit mailing list