Troy Wolf troy at troywolf.com
Wed Jun 25 14:28:08 PDT 2008
Nodes: 1,2,3
Sets: 1

Node 1 is origin.

Node 2 is subscribed to set 1 using:
    subscribe set (id=1, provider=1, receiver=2, forward=yes);

This works fine. Now I want to add Node 3 into the cluster and
subscribe it to set 1 using node 2 as the provider. I tried to do
this:

    subscribe set (id=1, provider=2, receiver=3, forward=yes);

I see in node 3's slon log that it is continuously attempting to copy
all the tables in the set, but it fails with this error:
2008-06-25 17:05:10 EDT ERROR  remoteWorkerThread_2: "select
"_slony".subscribeSet_int(1, 2, 3, 't'); notify "_slony_Event"; notify
"_slony_Confirm"; insert into "_slony".sl_event     (ev_origin,
ev_seqno, ev_timestamp,      ev_minxid, ev_maxxid, ev_xip, ev_type ,
ev_data1, ev_data2, ev_data3, ev_data4    ) values ('2', '292975',
'2008-06-25 16:58:12.379701', '98189397', '98199106',
'''98189397'',''98199029''', 'SUBSCRIBE_SET', '1', '2', '3', 't');
insert into "_slony".sl_confirm      (con_origin, con_received,
con_seqno, con_timestamp)    values (2, 3, '292975', now()); commit
transaction;" PGRES_FATAL_ERROR ERROR:  Slony-I: subscribeSet_int():
set 1 is not active, cannot change provider

I am confused by both parts of this error. That is, set 1 is in fact
"active". Node 2 is being kept in sync with Node 1 using set 1.
"Cannot change provider" worried me that I somehow was messing with
Node 2's subscription to set 1. The query below shows that set 1 is in
fact active.

    select
    	'Set ' || sub_set as \"Set\",
    	'Node ' || sub_provider as \"Is Provided By\",
    	'Node ' || sub_receiver as \"Is Received By\",
    sub_forward as \"Is Forwardable\",
    (select case when sub_active then ' Is Active ' else 'Is Not
Active' end) as \"Is Active\"
    from sl_subscribe;

Returns:
  Set  | Is Provided By | Is Received By | Is Forwardable |  Is Active
-------+----------------+----------------+----------------+-------------
 Set 1 | Node 1         | Node 2         | t              |  Is Active


More information about the Slony1-general mailing list