Steve Singer ssinger at ca.afilias.info
Fri Mar 1 08:51:51 PST 2013
On 13-03-01 07:08 AM, Ger Timmens wrote:
> All,
>
> When you do a drop node (e.g. node 19), there can still be records for
> that node in sl_confirm (both for con_received and con_origin.
> Shouldn't the drop node command just delete those records ?
>
> delete From _live_config.sl_confirm where con_received = 19;
> delete From _live_config.sl_confirm where con_origin = 19;
>

Yes, ideally after the DROP node has been confirmed by all other nodes 
then the records should be gone from sl_confirm on those nodes.

I have a feeling there might be a situation where a remote worker can 
pull in sl_confirms for node 19 from node 18 while the dropInt_int() is 
being processed on say node 17.

What version of slony are you using?

In the master/2.2 branch I added some code with the following comment to 
the drop_node function.


    /**
     * find the last event (including SYNC events)
     * from the node being dropped that is visible on
     * any of the remaining nodes.
     * we must wait for ALL remaining nodes to get caught up.
     *
     * we can't ignore SYNC events even though the dropped
     * node is not an origin it might have been an old
     * origin before a FAILOVER. Some behind node still
     * might need to get caught up from its provider.
     */

If a SYNC event from your node 19 is visible on ANY remaining node then 
it will should be confirmed by all other nodes before the drop_node gets 
submitted.






> Regards,
>
> Ger
>



More information about the Slony1-general mailing list