wait_for_commit

In this method, the next thread’s transaction group is not sent for processing until the previous transaction has processed successfully and the commit is being sent. This is the default setting. It assumes considerable contention between parallel transactions and results in the staggered execution shown in Figure 4-6.

Figure 4-6: Thread timing with wait_for_commit serialization method

Figure 4-6 illustrates the thread timing with wait underscore for underscore commit serialization method. The figure shows three transactions, A, B, and C, where in transaction B is not sent for processing until transaction A has processed successfully and the commit is being sent. Same goes with transaction C, transaction B has to be processed successfully and the commit is being sent.

This method maintains transaction serialization by instructing the DSI to wait until a transaction is ready to commit before initiating the next transaction. The next transaction can be submitted to the replicate data server while the first transaction is committing, since the first transaction already holds the locks that it requires.