Hi Slony community.

I have set up replication between two PostgreSQL 8.4.2
databases using version 2.0.3-rc3 of Slony. Everything
was set up using the altperl scripts and from node1,
when checking the status it appears that everything is
fine:

node1:

db=# SELECT * FROM _db.sl_status;
 st_origin | st_received | st_last_event |      st_last_event_ts      | 
st_last_received |    st_last_received_ts     | st_last_received_event_ts  | 
st_lag_num_events |   st_lag_time   
-----------+-------------+---------------+----------------------------+------------------+----------------------------+----------------------------+-------------------+-----------------
         1 |           2 |    5000828555 | 2010-03-30 08:04:52.347945 |       
5000828553 | 2010-03-30 08:04:39.445478 | 2010-03-30 08:04:37.345867 |          
       2 | 00:00:19.419474
(1 row)

On the slave node, it gives a different response:

node2:

db=# SELECT * FROM _db.sl_status;
 st_origin | st_received | st_last_event |     st_last_event_ts      | 
st_last_received |   st_last_received_ts    | st_last_received_event_ts | 
st_lag_num_events |  st_lag_time   
-----------+-------------+---------------+---------------------------+------------------+--------------------------+---------------------------+-------------------+----------------
         2 |           1 |    5000000008 | 2010-03-29 16:09:10.01734 |       
5000000008 | 2010-03-29 16:09:12.5731 | 2010-03-29 16:09:10.01734 |             
    0 | 15:57:40.45126
(1 row)

The event number never updates and the st_lag_time field
increments to match the seconds since Slony was started. The
log on node2 just has lines with successful updates:

2010-03-30 08:09:18 CDT INFO   remoteWorkerThread_1: syncing set 1 with 29 
table(s) from provider 1
2010-03-30 08:09:18 CDT INFO   remoteWorkerThread_1: SYNC 5000828601 done in 
0.011 seconds
2010-03-30 08:09:29 CDT INFO   remoteWorkerThread_1: syncing set 1 with 29 
table(s) from provider 1
2010-03-30 08:09:29 CDT INFO   remoteWorkerThread_1: SYNC 5000828602 done in 
0.004 seconds
2010-03-30 08:09:40 CDT INFO   remoteWorkerThread_1: syncing set 1 with 29 
table(s) from provider 1
2010-03-30 08:09:40 CDT INFO   remoteWorkerThread_1: SYNC 5000828603 done in 
0.004 seconds
2010-03-30 08:09:51 CDT INFO   remoteWorkerThread_1: syncing set 1 with 29 
table(s) from provider 1
2010-03-30 08:09:51 CDT INFO   remoteWorkerThread_1: SYNC 5000828605 done in 
0.010 seconds
2010-03-30 08:10:02 CDT INFO   remoteWorkerThread_1: syncing set 1 with 29 
table(s) from provider 1
2010-03-30 08:10:02 CDT INFO   remoteWorkerThread_1: SYNC 5000828606 done in 
0.008 seconds
2010-03-30 08:10:06 CDT INFO   remoteWorkerThread_1: syncing set 1 with 29 
table(s) from provider 1
2010-03-30 08:10:06 CDT INFO   remoteWorkerThread_1: SYNC 5000828607 done in 
0.008 seconds
...

and on node1 it looks good too:

CONTEXT:  SQL statement "SELECT  "_db".logswitch_start()"
PL/pgSQL function "cleanupevent" line 101 at PERFORM
2010-03-30 07:22:09 CDT INFO   cleanupThread:    0.004 seconds for 
cleanupEvent()
2010-03-30 07:22:09 CDT INFO   cleanupThread:    0.007 seconds for vacuuming
NOTICE:  Slony-I: log switch to sl_log_2 complete - truncate sl_log_1
CONTEXT:  PL/pgSQL function "cleanupevent" line 99 at assignment
2010-03-30 07:33:42 CDT INFO   cleanupThread:    0.010 seconds for 
cleanupEvent()
2010-03-30 07:33:42 CDT INFO   cleanupThread:    0.007 seconds for vacuuming
NOTICE:  Slony-I: Logswitch to sl_log_1 initiated
CONTEXT:  SQL statement "SELECT  "_db".logswitch_start()"
PL/pgSQL function "cleanupevent" line 101 at PERFORM
2010-03-30 07:44:30 CDT INFO   cleanupThread:    0.002 seconds for 
cleanupEvent()
2010-03-30 07:44:30 CDT INFO   cleanupThread:    0.007 seconds for vacuuming
NOTICE:  Slony-I: log switch to sl_log_1 complete - truncate sl_log_2
CONTEXT:  PL/pgSQL function "cleanupevent" line 99 at assignment
2010-03-30 07:55:43 CDT INFO   cleanupThread:    0.009 seconds for 
cleanupEvent()
2010-03-30 07:55:43 CDT INFO   cleanupThread:    0.007 seconds for vacuuming
NOTICE:  Slony-I: Logswitch to sl_log_2 initiated
CONTEXT:  SQL statement "SELECT  "_db".logswitch_start()"
PL/pgSQL function "cleanupevent" line 101 at PERFORM
2010-03-30 08:07:05 CDT INFO   cleanupThread:    0.003 seconds for 
cleanupEvent()
2010-03-30 08:07:05 CDT INFO   cleanupThread:    0.007 seconds for vacuuming
...

Is this normal behavior for Slony1 version 2.0? In version 1.2
both of these SELECTs showed incrementing event numbers and a
small st_lag_time value representing the time from the last
event sent. This meant that the status could be checked from
either node. If this is not normal, is my configuration broken?
Can it be repaired? Or should I just revert back to version 1.2?
Your input would be appreciated.

Cheers,
Ken
_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general

Reply via email to