Christopher Browne cbbrowne at ca.afilias.info
Mon May 12 08:19:31 PDT 2008
"Jakub K" <slonymaillist at gmail.com> writes:
> Hello,
>
> if i understand well, publisher have two basic parameters for
> generating SYNC events:
>
> 1) SYNC check interval
> each SYNC check interval default 2 seconds slon looks to replication
> log if there is new work (new means changes after las SYNC)  generate
> SYNC
> 2) SYNC interval timeout
> genereate SYNC each interval no matter if there is new work for
> replication or not

That's pretty well duplicating what the docs say; certainly seems
consistent...

> Subsciber LISTEN and wake up + ask for changes when SYNC from
> publisher comes. If SYNC was created by interval timeout it is
> possible that subscriber get no new data. SYNC event is saying to
> subscribers do pull replication and ask publisher for data.

Yes, you're understanding that correctly.

The reason why we have the timeout, and generate a SYNC even though it
is not necessitated by replication data, is so that there is an
ongoing indication given that the subscribers are actually keeping up.

Supposing we didn't have the SYNC interval timeout, then, if there was
a period of time when the origin was not receiving updates, there
would be *nothing* meaningful to indicate that the subscribers are
indeed up to date.

This would manifest pretty visibly in the view sl_status; without the
"workless SYNCs," a quiescent origin would lead to it looking like the
subscribers were falling increasingly and steadily behind, which would
not change until an update was made.  It's hard to tell the difference
between that and having slons fallen over.

> In slon documentation is note that subscribers generate SYNC too - it
> means that only sub that generate SYNC ask for new data or this SYNC
> is send to all subs and all subs received this SYNC and ask for new
> data?

All the nodes send around SYNCs; if there is no corresponding
subscription to work on, those SYNCs are ignored.

I'm glad to make sure that explanations for things get published, so
that the design choices aren't just mysteries.
-- 
let name="cbbrowne" and tld="cbbrowne.com" in name ^ "@" ^ tld;;
http://cbbrowne.com/info/spreadsheets.html
Nobody can fix the economy.  Nobody can be trusted with their finger
on the button.  Nobody's perfect.  VOTE FOR NOBODY.


More information about the Slony1-general mailing list