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


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

Reply via email to