Description of Values for Commit Database Option

You can use the commit database option to specify one of these types of commit protocols for transaction engines:

The default is safe.

For each protocol, durability is a database transaction property that ensures that changes made during a transaction are persistent and can be re-created if a storage manager terminates and restarts. The following table describes each commit option argument. See also Choosing a Commit Protocol.

safe TE sends a pre-commit message to each SM serving a modified storage group of the committing transaction. The TE then receives a pre-commit acknowledgment from each SM, and then sends a commit confirmation message to the client. See About the Safe Commit Protocol.
local TE sends a commit message to SM or SSM and does not wait for confirmation that the transaction was durably recorded.
remote[:n]

For each modified storage group, specifies the number of SMs or SSMs that must confirm that the transaction was durably recorded before the TE reports the transaction as committed. The TE waits for the specified number of confirmations before sending a commit confirmation to the client.

A modified storage group is a storage group in which the transaction has inserted, deleted, or updated data serviced by that storage group.

If the optional :n is not specified, then 1 SM or SSM per modified storage group is required to confirm that the transaction was durably recorded. If the optional :n is specified, then n SMs or SSMs per modified storage group are required to confirm durabilty. This implies a minimum number of SMs/SSMs in the domain. In this release, the commit protocol does not distinguish between SMs and SSMs.

region[:n]

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. In this release, the commit protocol does not distinguish between SMs and SSMs.

If the optional :n suffix is specified, then for each modified storage group, the commit protocol requires an SM/SSM 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/SSMs that serve the group in the local region are preferred over SMs/SSMs 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/SSM in the local region services that modified storage group then one of those SMs/SSMs must confirm that the transaction was durably recorded for that transaction to commit. Also, in one of the two remote regions, an SM or SSM 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/SSMs that service the modified storage group, then an SM/SSM from each remote region must confirm that the transaction was durably recorded.

It is possible for the local region to include SMs/SSMs that service some but not all of the modified storage groups. This means that SMs/SSMs 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/SSMs 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/SSM in n-1 remote regions.
  • Each modified storage group that is not serviced by SMs/SSMs in the local region requires an SM/SSM 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.