k8.1 | The resource manager does the work necessary to commit the transaction. This includes releasing all locks held on behalf of the transaction. The resource manager then writes a Commit record for the transaction to the resource manager’s log file. If it chooses, the resource manager can do a lazy log file write to economize on log I/Os. When the write to the log finishes, the resource manager proceeds to the next step. |
k8.2 | The resource manager invokes the ITransactionEnlistmentAsync::CommitRequestDone method to inform the MS DTC proxy that it has completed the commit phase of the two-phase commit protocol. |
k9 | The MS DTC proxy informs the resource manager’s transaction manager that the resource manager has completed phase two processing. |
k10.1 | When all of the resource managers on the system have completed their phase two processing, the resource manager’s transaction manager writes a Forget record to its local transaction manager log file. If it chooses, the transaction manager can do a lazy log file write to economize on log I/Os. After the log write completes, the transaction manager forgets the transaction and proceeds to the next step. |
k10.2 | The resource manager’s transaction manager informs the client’s transaction manager that phase two is complete. |
k11 | The client’s transaction manager waits until all of its subordinate transaction managers have responded. It then writes a Forget record to the transaction manager log file. If it chooses, the transaction manager can do a lazy log file write to economize on log I/Os. The transaction manager then forgets the transaction. |