Steve Singer ssinger at ca.afilias.info
Wed Apr 20 14:48:02 PDT 2011
There are three patches living in my auto-waitfor branch at
git://github.com/ssinger/slony1-engine.git  that are related to the 
bug196 (sl_event_lock) changes that should probably be merged into master.

(The last one in this list is really a pre-existing bug but the lock 
changes seem to make it much more likely to have deadlock).




commit d85d1a6b802d00e8de40ee5a25fb7f35b95b1c3c
Author: Steve Singer <ssinger at ca.afilias.info>
Date:   Tue Apr 19 10:23:35 2011 -0400

     Do not lock sl_event when adding an event.
     The caller should already have a lock on sl_event_lock
     which must be obtained before the txid is assigned



commit 58117f3f15c69ac3cc35c8fec112bb66260d9ef1
Author: Steve Singer <ssinger at ca.afilias.info>
Date:   Tue Apr 19 10:24:30 2011 -0400

     Obtaining this lock actually increases deadlock because
     it creates a conflict between sl_config_lock and sl_event_lock.

     slonik initiated queries will always obtain sl_event_lock before
     sl_config_lock (or at least when creating events).  Having
     remote_worker do the opposite isn't a good idea.

     If we find more examples of deadlock with this removed then
     they need to be adressed in some other fashion.

commit cd7759ed75ae3ee02f08f497556296b628153df7
Author: Steve Singer <ssinger at ca.afilias.info>
Date:   Wed Apr 20 17:40:53 2011 -0400

     Fixing an issues where slon would try to start a new transaction
     and obtain sl_config_lock instead of calling enableSubscription.
     This was causing a deadlock with sl_event_lock during some
     tests




More information about the Slony1-hackers mailing list