Laurent Raufaste analogue at glop.org
Tue Feb 23 00:50:34 PST 2010
Hi,

I have a cool Slony cluster with 12 PGs running for years.
But I noticed some strange data in the origin's sl_confirm table:

SELECT *
FROM _ob2replication.sl_confirm
WHERE con_seqno NOT IN (SELECT ev_seqno FROM _ob2replication.sl_event);

 con_origin | con_received | con_seqno |       con_timestamp
------------+--------------+-----------+----------------------------
        21 |           26 |   3277845 | 2009-09-26 15:01:12.61598
        21 |           27 |   3277845 | 2009-10-22 15:13:26.370957
        21 |           25 |   3277845 | 2009-09-26 14:54:16.162632
        21 |            5 |   3277845 | 2009-10-22 15:13:26.669225

con_timestamp should be some date near today (february 2010)

Or from another server:

 con_origin | con_received | con_seqno |       con_timestamp
------------+--------------+-----------+----------------------------
        21 |           26 |   3277845 | 2009-09-26 15:01:12.61598
        21 |           27 |   3277845 | 2009-09-26 15:01:12.549303
        21 |           22 |   3277845 | 2009-09-26 15:01:12.627592
        21 |            5 |   3277845 | 2009-09-26 15:01:12.831765
        21 |           25 |   3277845 | 2009-09-26 14:54:16.162632

And from another:

 con_origin | con_received | con_seqno |       con_timestamp
------------+--------------+-----------+----------------------------
        21 |           26 |   3277845 | 2009-09-26 15:01:12.61598
        21 |            5 |   3277845 | 2009-09-26 15:01:12.831765
        21 |           27 |   3277845 | 2009-09-26 15:01:12.549303
        21 |           25 |   3277845 | 2009-09-26 14:54:16.162632
        21 |           22 |   3277845 | 2009-09-26 15:01:12.627592
        17 |           25 |         0 | 2010-01-26 11:18:22.45564
        17 |           26 |         0 | 2010-01-26 11:18:22.455672
        17 |           27 |         0 | 2010-01-26 11:18:22.455704
        17 |           22 |         0 | 2010-01-26 11:18:22.455729
        17 |            5 |         0 | 2010-01-26 11:18:22.455753
        17 |           21 |         0 | 2010-01-26 11:18:22.455794
        17 |           12 |         0 | 2010-01-26 11:18:22.455835
        17 |           16 |         0 | 2010-01-26 11:18:22.455861
        17 |            2 |         0 | 2010-01-26 11:18:22.455898
        17 |           24 |         0 | 2010-01-26 11:18:22.455926

On every server I have entries in the sl_confirm tables with events
references which do not exist anymore.

The cluster works, but I don't like thoses entries staying there. What
can I do ? Delete them ?

Those entries should be cleaned up but the cleanupEvent() plpgsql
function, but they are not.

I launched a debugged version of the cleanupEvent() function and here
what I got:
SELECT _ob2replication.mycleanup();

NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND con_received=2
AND con_seqno < 1060869
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND con_received=5
AND con_seqno < 1060869
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=12 AND con_seqno < 1060869
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=16 AND con_seqno < 1060869
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=17 AND con_seqno < 1060869
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=22 AND con_seqno < 3277845
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=23 AND con_seqno < 1060928
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=24 AND con_seqno < 1060869
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=25 AND con_seqno < 3277845
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=26 AND con_seqno < 3277845
NOTICE:  DELETE FROM sl_confirm WHERE con_origin=21 AND
con_received=27 AND con_seqno < 3277845



More information about the Slony1-hackers mailing list