Tomeh, Husam htomeh
Wed May 24 15:06:06 PDT 2006
I have configured a two-node slony system running pg 8.1.3 and slony-1
1.1.5. 

The replication works real well. I also did a switchover of set 1 from
node 1  to node2 and worked perfect. However, when I attempt to switch
back the set from node 2 to node1, two of the node 2 slon processes get
terminated with an error message:

Node 2 log:
2006-05-24 14:43:49 PDT FATAL  localListenThread: MOVE_SET but no
provider found for set 1
2006-05-24 14:43:49 PDT DEBUG1 slon: shutdown requested
2006-05-24 14:43:49 PDT INFO   remoteListenThread_1: disconnecting from
'dbname=contactdb host=localhost port=5444 user=postgres'

Node 1 log:
2006-05-24 14:43:49 PDT CONFIG moveSet: set_id=1 old_origin=2
new_origin=1
2006-05-24 14:43:49 PDT CONFIG storeListen: li_origin=2 li_receiver=1
li_provider=2
2006-05-24 14:43:49 PDT DEBUG1 remoteWorkerThread_2: helper thread for
provider 2 terminated
2006-05-24 14:43:49 PDT DEBUG1 remoteWorkerThread_2: disconnecting from
data provider 2
2006-05-24 14:43:49 PDT CONFIG storeListen: li_origin=2 li_receiver=1
li_provider=2


It maybe something in my scripts, and I have re-examined the scripts I'm
using but couldn't figure it out yet. Below is the switchover script to
perform the first switch over from node 1 to node 2 which works
successfully, followed by another script to switch back from node 2 to
node 1. Any feedback is grealy appreciated. Thanks in advance.

##############
Start of script:slony_switchover.sh

## - 
CLUSTER=slony_cluster
DB1=contactdb
DB2=contactdb_slave
H1=localhost
H2=localhost
P1=5444
P2=5445
U=postgres

slonik <<_EOF_

cluster name = $CLUSTER;

node 1 admin conninfo = 'dbname=$DB1 host=$H1 port=$P1 user=$U';
node 2 admin conninfo = 'dbname=$DB2 host=$H2 port=$P2 user=$U';
echo 'Performing a switchover from node 1 to node 2 ...' ;
echo '' ;
# add listener paths if required
#

echo 'locking set # 1 ...' ;

lock set (id = 1, origin = 1) ;
wait for event (origin = 1, confirmed = 2) ;
echo 'moving set # 1 from node 1 to node 2 ...' ;

move set (id = 1, old origin = 1, new origin = 2) ;
wait for event (origin = 1, confirmed = 2) ;

# subscribe sets if required

echo 'subscribing set # 1 to new master node # 2' ;
subscribe set (id = 1, provider = 2, receiver = 1, forward = yes);	

_EOF_	

# #################### end of slony_switchover.sh ############


#############################
Start of script: slony_switchover_reverse.sh

##
CLUSTER=slony_cluster
DB1=contactdb
DB2=contactdb_slave
H1=localhost
H2=localhost
P1=5444
P2=5445
U=postgres

slonik <<_EOF_

cluster name = $CLUSTER;

node 1 admin conninfo = 'dbname=$DB1 host=$H1 port=$P1 user=$U';
node 2 admin conninfo = 'dbname=$DB2 host=$H2 port=$P2 user=$U';

# add listener paths if required
#
echo 'locking set # 1  ...' ;

lock set (id = 1, origin = 2) ;
wait for event (origin = 2, confirmed = 1) ;

echo 'moving set # 1 from node 2 to node 1 ...' ;

move set (id = 1, old origin = 2, new origin = 1) ;
wait for event (origin = 2, confirmed = 1) ;

# subscribe set if required

echo 'subscribing set # 1 back to original master node # 1' ;

####subscribe set (id = 1, provider = 1, receiver = 2, forward = yes);

_EOF_

######################## end of slony_switchover_reverse.sh script
######

----
 
    Husam 
**********************************************************************
This message contains confidential information intended only for the use of the addressee(s) named above and may contain information that is legally privileged.  If you are not the addressee, or the person responsible for delivering it to the addressee, you are hereby notified that reading, disseminating, distributing or copying this message is strictly prohibited.  If you have received this message by mistake, please immediately notify us by replying to the message and delete the original message immediately thereafter.

Thank you.

                                   FADLD Tag
**********************************************************************




More information about the Slony1-general mailing list