Chris Browne cbbrowne at lists.slony.info
Wed Feb 28 14:07:51 PST 2007
Update of /home/cvsd/slony1/slony1-engine/src/slon
In directory main:/tmp/cvs-serv3776/src/slon

Modified Files:
      Tag: REL_1_1_STABLE
	remote_worker.c 
Log Message:
- When you run MOVE SET, this populates sl_setsync for the moved set
  even on nodes that are not subscribed.  If, subsequent to doing this, 
  you attempt a SUBSCRIBE SET for a formerly-unsubscribed node, the
  subscription will fail right at the end when the slon tries to insert a
  new value to sl_setsync.

  The fix: DELETE from sl_setsync immediately before the INSERT.  This
  will silently blow away any 'offending' sl_setsync row.

As observed by Afilias staff...


Index: remote_worker.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/remote_worker.c,v
retrieving revision 1.86.2.15
retrieving revision 1.86.2.16
diff -C2 -d -r1.86.2.15 -r1.86.2.16
*** remote_worker.c	25 Oct 2006 12:57:07 -0000	1.86.2.15
--- remote_worker.c	28 Feb 2007 22:07:49 -0000	1.86.2.16
***************
*** 3479,3486 ****
--- 3479,3488 ----
  	 */
  	slon_mkquery(&query1,
+ 		     "delete from %s.sl_setsync where ssy_setid = %d;"
  		     "insert into %s.sl_setsync "
  		     "    (ssy_setid, ssy_origin, ssy_seqno, "
  		     "     ssy_minxid, ssy_maxxid, ssy_xip, ssy_action_list) "
  		     "    values ('%d', '%d', '%s', '%s', '%s', '%q', '%q'); ",
+ 		     rtcfg_namespace, set_id,
  		     rtcfg_namespace,
  		     set_id, node->no_id, ssy_seqno, ssy_minxid, ssy_maxxid, ssy_xip,



More information about the Slony1-commit mailing list