@@ -47,12 +47,6 @@ The `bdr_init_physical` utility replaces the functionality of the
4747` bdr_init_copy ` utility from BDR1 and BDR2. It is the BDR3 equivalent of the
4848pglogical ` pglogical_create_subscriber ` utility.
4949
50- !!! Warning
51- Only one node at the time should join the BDR node group, or be
52- parted from it. If a new node is being joined while there is
53- another join or part operation in progress, the new node will
54- sometimes not have consistent data after the join has finished.
55-
5650When a new BDR node is joined to an existing BDR group or a node is subscribed
5751to an upstream peer, before replication can begin, the system must copy the
5852existing data from the peer node(s) to the local node. This copy must be
@@ -87,10 +81,12 @@ performs data sync doing `COPY` operations and will use multiple writers
8781(parallel apply) if those are enabled.
8882
8983Node join can execute concurrently with other node joins for the majority of
90- the time taken to join. Only one regular node at a time can be in either of
91- the states PROMOTE or PROMOTING, which are typically fairly short.
92- The subscriber-only nodes are an exception to this rule, and they can be
93- cocurrently in PROMOTE and PROMOTING states as well.
84+ the time taken to join. However, only one regular node at a time can be in
85+ either of the states PROMOTE or PROMOTING, which are typically fairly short if
86+ all other nodes are up and running, otherwise the join will get serialized at
87+ this stage. The subscriber-only nodes are an exception to this rule, and they
88+ can be concurrently in PROMOTE and PROMOTING states as well, so their join
89+ process is fully concurrent.
9490
9591Note that the join process uses only one node as the source, so can be
9692executed when nodes are down, if a majority of nodes are available.
@@ -871,43 +867,6 @@ as `STANDBY`.
871867
872868Only one node at a time can be in either of the states PROMOTE or PROMOTING.
873869
874- ## Managing Shard Groups
875-
876- BDR clusters may contain an array of Shard Groups for the AutoScale feature.
877- These are shown as a sub-node group that is composed of an array of
878- sub-sub node groups known as Shard Groups.
879-
880- Operations that can be performed on the Shard Group are:
881-
882- - Create Shard Array
883- - Drop Shard Array
884- - Repair - add new nodes to replace failed nodes
885- - Expand - add new Shard Groups
886- - Re-Balance - re-distribute data across Shard Groups
887-
888- ### Create/Drop
889-
890- ### Expand
891-
892- e.g. expand from 4 Shard Groups to 8 Shard Groups
893-
894- This operation can occur without interfering with user operations.
895-
896- ### Re-Balance
897-
898- e.g. move data from where it was in a 4-node array to how it would be ideally
899- placed in an 8-node array.
900-
901- Some portion of the data is moved from one Shard Group to another,
902- so this action can take an extended period, depending upon how
903- much data is to be moved. The data is moved one partition at a
904- time, so is restartable without too much wasted effort.
905-
906- Note that re-balancing is optional.
907-
908- This operation can occur without interfering with user operations,
909- even when this includes write transactions.
910-
911870## Node Management Interfaces
912871
913872Nodes can be added and removed dynamically using the SQL interfaces.
@@ -995,7 +954,7 @@ This function creates a BDR group with the local node as the only member of the
995954
996955``` sql
997956bdr .create_node_group (node_group_name text ,
998- parent_group_name text ,
957+ parent_group_name text DEFAULT NULL ,
999958 join_node_group boolean DEFAULT true,
1000959 node_group_type text DEFAULT NULL )
1001960```
@@ -1017,9 +976,8 @@ bdr.create_node_group(node_group_name text,
1017976 changes to other nodes. See [ Subscriber-Only Nodes] for more details.
1018977 Datanode implies that the group represents a shard, whereas the other
1019978 values imply that the group represents respective coordinators.
1020- Except 'subscriber-only', the rest three values are reserved for use
1021- with a separate extension called autoscale. NULL implies a normal
1022- general purpose node group will be created.
979+ Except 'subscriber-only', the rest three values are reserved for future use.
980+ NULL implies a normal general purpose node group will be created.
1023981
1024982#### Notes
1025983
@@ -1425,6 +1383,7 @@ bdr_init_physical [OPTION] ...
14251383
14261384- ` --hba-conf -path ` to the new pg_hba.conf
14271385- ` --postgresql-conf ` - path to the new postgresql.conf
1386+ - ` --postgresql-auto-conf ` - path to the new postgresql.auto.conf
14281387
14291388#### Notes
14301389
0 commit comments