Andrew Sullivan ajs
Wed Jun 22 14:34:37 PDT 2005
On Fri, Jun 17, 2005 at 11:59:14AM -0700, John Surnow wrote:
> Why does each slave node communicate with every other slave node?

First, it is in general a mistake to think of "nodes" as "slaves". 
There is no role, "master" or "slave"; only origins, subcribers, and
providers.  

The short answer to the question is "that's what makes it work",
especially for "switchover", "failover", MOVE SET, and other such
values of 'it'.

A longer answer is that a table can _originate_ on only one node, but
more than one node can be a _provider_ for that table for other
systems.  So every system needs to be able to find out what is
happening on every other system.  (It is not strictly speaking true
that every node must communicate with _every_ other node; it's
possible to set things up in a very complicated way such that certain
nodes only get their information from certain other nodes.  Chris
Browne has an example of this, I think.)

The longest answer is that to understand this, you should read the
design document.  It's on the web site.

> What will happen if a slave node is down for a long time?

You need to define "a long time".  It's largely dependent on traffic.

A

-- 
Andrew Sullivan  | ajs at crankycanuck.ca
The fact that technology doesn't work is no bar to success in the marketplace.
		--Philip Greenspun


More information about the Slony1-general mailing list