-
Bug
-
Resolution: Done
-
Major
-
None
-
7.0
-
Weeks 13, 14 (Mar 25 - Apr 7), Weeks 15, 16 (Apr 8 - 21), Weeks 17, 18 (Apr 22 - May 5), Weeks 19, 20 (May 6 - 19)
-
In the broker guide section 14.1 seems to be inaccurate or at least a little misleading.
~~~
When using replication as the HA strategy for your cluster, all data synchronization is done over the network. All persistent data received by the master broker is synchronized to the slave when the master drops from the network. A slave broker first needs to synchronize all existing data from the master broker before becoming capable of replacing it.
~~~
However on the mail list ataylor@redhat.com has confirmed
~~~
[Question] >> if a client produces a message to the master broker, should the operation that produces the message return only when the master and slave have both persisted their data?
[ataylor]>> it returns once the master has persisted it and the slave has it in
memory. There is no need to wait for persistence on the slave, it just has to
have it in memory. If the live crashes then the slave will sync any awaiting
writes and then start.
~~~
IMHO In the doc the "synchronized to the slave" suggests the data is not sent across the network until the master fails. I *think** it would be best to give more context and highlight in the doc it is actually a two step operation:
1) slave receives all updates when master receives them
2) slave synchronises its data to disk before becoming master.
Part 2:
In the context of ataylor's info above, the following section (also in 14.1) is quite confusing
~~~
However, there is a critical moment at the end of this process where the replicating broker must complete the synchronization and ensure the replica acknowledges this completion. This exchange between the replicating broker and replica will block any journal related operations. The maximum length of time that this exchange will block is controlled by the initial-replication-sync-timeout configuration element.
~~~
Can this section be clarified and give some more context also?