Vivek Khera vivek
Mon Nov 7 19:37:46 PST 2005
Slony 1.1.2
Postgres 8.0.4
FreeBSD 6.0 and 5.4

running this slonik script, the lock set() function never returns:

cluster name = rt;
node 20 admin conninfo='host=rt-prv dbname=rt3 user=slony port=5432';
node 10 admin conninfo='host=d03-prv dbname=rt3 user=slony port=5432';
   echo 'Locking down set 1 on node 10';
   lock set (id = 1, origin = 10);
   echo 'Locked down ';

I just wait and wait and wait, then ultimately kill the slonik  
process. Then when I run it again, it says this:

[d03]/tmp% slonik < moveset.slon
<stdin>:4: Locking down set 1 on node 10
^C
[d03]/tmp% slonik < moveset.slon
<stdin>:4: Locking down set 1 on node 10
<stdin>:5: PGRES_FATAL_ERROR select "_rt".lockSet(1); select  
"_rt".getMaxXid();  - ERROR:  Slony-I: set 1 is already locked

I need to log into the DB and run _rt.unlockSet(1) to clear the lock.

While I wait for lock set() to return, I see that all the slony  
processes in both origin and replica are in <IDLE> state (ie, no  
transaction...)

Any clues?  Running slonik on the 5.4 box vs. the 6.0 box makes no  
difference.




More information about the Slony1-general mailing list