Re: [GENERAL] How does BDR replicate changes among nodes in a BDR group

2017-06-08 Thread Craig Ringer
On 9 June 2017 at 02:47, Zhu, Joshua  wrote:
> Thanks for the clarification.
>
> A follow up question, then, given *once joined all nodes are equal*, is that:
>
> should the node A dies or taken out of the group, the remaining three node 
> group (with B, C and D) would continue to function properly, correct?

Yes. Though you'll need to tell them node A isn't coming back by
parting it from one of the other nodes at some point, otherwise
they'll accumulate WAL in pg_xlog and run out of disk space eventually
as they hold onto the resources A would need to sync back up.
Monitoring is important.


-- 
 Craig Ringer   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] How does BDR replicate changes among nodes in a BDR group

2017-06-08 Thread Zhu, Joshua
Thanks for the clarification.

A follow up question, then, given *once joined all nodes are equal*, is that:

should the node A dies or taken out of the group, the remaining three node 
group (with B, C and D) would continue to function properly, correct?
[somewhere I saw the term "downstream" nodes was used, and I am not clear what 
that meant in the context of a mesh-connected group] 

Thanks again

-Original Message-
From: Craig Ringer [mailto:cr...@2ndquadrant.com] 
Sent: Wednesday, June 07, 2017 5:59 PM
To: Zhu, Joshua <j...@thalesesec.net>
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] How does BDR replicate changes among nodes in a BDR group

On 8 June 2017 at 04:50, Zhu, Joshua <j...@vormetric.com> wrote:

> How does BDR replicate a change delta on A to B, C, and D?

It's a mesh.

Once joined, it doesn't matter what the join node was, all nodes are equal.

> e.g., A
> replicates delta to B and D, and B to C, or some other way, or not 
> statically determined?

Each node replicates to all other nodes in an undefined order determined by 
network timing etc.


-- 
 Craig Ringer   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] How does BDR replicate changes among nodes in a BDR group

2017-06-07 Thread Craig Ringer
On 8 June 2017 at 04:50, Zhu, Joshua  wrote:

> How does BDR replicate a change delta on A to B, C, and D?

It's a mesh.

Once joined, it doesn't matter what the join node was, all nodes are equal.

> e.g., A
> replicates delta to B and D, and B to C, or some other way, or not
> statically determined?

Each node replicates to all other nodes in an undefined order
determined by network timing etc.


-- 
 Craig Ringer   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[GENERAL] How does BDR replicate changes among nodes in a BDR group

2017-06-07 Thread Zhu, Joshua
New to this group, so if this is not the right place to ask this question or it 
has been asked before/documented, please kindly point me the right group or the 
right thread/documentation, thanks.

A BDR novice, I would like to know how BDR replicate changes among nodes in a 
BDR group, let's say I have a 4 node group consisting of A, B, C and D, 
established as follows

A is the initial node
B joins via A
C joins via B
D joins via A

How does BDR replicate a change delta on A to B, C, and D? e.g., A replicates 
delta to B and D, and B to C, or some other way, or not statically determined?
How about a change delta on B to A, C and D? e.g., B replicates delta to A and 
C, A to D, or?
How about a change delta on C to A, B and D? e.g., C replicates delta to B, B 
to A, A to D, or?
How about a change delta on D to A, B and C? e.g., D replicate delta to A, A to 
B, B to A, or?

Thanks