About the Region Commit Protocol
It is recommended that region
commit is used with journaling enabled.
Without a number argument, one region is required to acknowledge the transaction before it is committed.
When a Transaction Engine (TE) receives a commit request, the TE asynchronously broadcasts the commit to all available nodes, (SMs and TEs).
For each modified storage group, this option specifies the number of regions that must confirm that the transaction was durably recorded before the TE reports the transaction as committed.
If the optional :n
suffix is specified, then for each modified storage group, the commit protocol requires an SM in n
different regions to confirm that the transaction was durably recorded before the TE acknowledges that the transaction is committed.
For a given storage group, SMs that serve the group in the local region are preferred over SMs that serve the group in remote regions.
Consider the scenario in which there is one local region and two remote regions and region:2
is specified.
If a transaction modified a single storage group and at least one SM in the local region services that modified storage group then one of those SMs must confirm that the transaction was durably recorded for that transaction to commit.
Also, in one of the two remote regions, an SM that also services the modified storage group is required to confirm that the transaction was durably recorded.
In the local region, if there are no SMs that service the modified storage group, then an SM from each remote region must confirm that the transaction was durably recorded.
It is possible for the local region to include SMs that service some but not all of the modified storage groups.
This means that SMs in the local region can confirm that the transaction was durably recorded for only a subset of the modified storage groups.
In this case:
-
In the local region, only SMs that service the modified storage groups are required to confirm that the transaction was durably recorded. In addition, a confirmation of durability must be received from an SM in
n-1
remote regions. -
Each modified storage group that is not serviced by SMs in the local region requires an SM in
n
remote regions to confirm that the transaction was durably recorded.
If the :n
suffix is not specified, then region:1
will be configured.