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