I've been using SYNC and WAIT FOR EVENT for some time since 1.2.x came out and 
I've noticed that occassionally it doesn't seem to work in 1.2.6.  It's not 
every time, just occassionally.  I have a script that looks like this (the 
execute script creates the test table):

===========
#!/usr/local/slony/bin/slonik

INCLUDE </home/postgres/lib/preamble.slonik>;

EXECUTE SCRIPT (
  SET ID = 1,
  FILENAME = '/home/postgres/sql/create-test-table.sql',
  EVENT NODE = 1
);

CREATE SET (id = 9998, origin = 1, comment = 'temp set');
SET ADD TABLE (set id=9998, origin=1, id=15,
       FULL QUALIFIED NAME = 'public.test', comment='test table');

SUBSCRIBE SET (id=9998, provider=1, receiver=2);
WAIT FOR EVENT (origin=2, confirmed =1);
SYNC(id = 1);
WAIT FOR EVENT (origin=1, confirmed =2);

MERGE SET ( id = 1, add id = 9998, origin = 1 );
==========

After it runs for a few seconds, I'm greeted with:

DDL on origin - PGRES_TUPLES_OK
bin/v022-001-create-test-table.slonik:20: PGRES_FATAL_ERROR select 
"_T1".mergeSet(1, 9998);  - ERROR:  Slony-I: set 9998 has subscriptions in 
progress - cannot merge

And of course if I go merge the set manually with pgadmin, it works fine.

But, I thought the whole point of the SYNC followed by WAIT FOR EVENT was to 
make sure the subcription had completed.  Have I read the docs wrong?  Has it 
just been working as a race condition before or do I have my syntax a little 
off?

-- 
Jeff Frost, Owner       <[EMAIL PROTECTED]>
Frost Consulting, LLC   http://www.frostconsultingllc.com/
Phone: 650-780-7908     FAX: 650-649-1954
_______________________________________________
Slony1-general mailing list
[email protected]
http://gborg.postgresql.org/mailman/listinfo/slony1-general

Reply via email to