Steve Singer ssinger_pg at sympatico.ca
Wed Apr 13 15:35:35 PDT 2011
On Wed, 13 Apr 2011, Richard Yen wrote:

> That sounds like a possibility to me, but as far as I understand it, when a subscriber is lagging, events
> in sl_event (and therefore sl_log_*) are not being processed.  Wouldn't the slave lag block a logswitch
> from finishing?  Or perhaps I don't fully understand the way SYNCs are processed and purged...

Another thing that can cause log switches to be delayed are long running 
transactions.

Let's say you have the following:
t1: begin;
t2; begin insert into a replicted table
t2; commit;
t3: SYNC 1,1111 is generated
t4: SYNC 1,111 is replicated to your slave, it includes the row from t2.

At this point logswitch can not finish because t1 is still in progress and 
t1 MIGHT have written to sl_log_1.

say sometime later

t1: rollback;
txxx: SYNC 1,2222

Log switch can't actually happen until sync 1,2222 is replicated and 
confirmed because the sync that would cover any rows from that transaction 
is 1,2222.


Steve





> --Richard
> 
>


More information about the Slony1-general mailing list