Patent ID: 10339127

Abstract:
Techniques are described for providing a guaranteed commit outcome for global transactions that are optimized by deferring the commit processing to a resource manager, such as a DBMS, using optimizations. The “Distributed Transaction Processing: The XA Specification” standard specification is ambiguous regarding commit outcomes for transactions managed by DBMS, resulting in wrong results for vendors implementing the standard. The techniques described provide a guaranteed commit outcome when using the optimizations, creating the opportunity for safe replay of global transactions when a communication error or timeout occurs between the transaction manager and the resource manager, and eliminating ambiguous transaction outcomes reaching applications and end users.Techniques described herein distinguished between global transactions in a session managed by a transaction manager, and those in the same session that are managed by the resource manager using the optimizations. The techniques provide a guaranteed commit outcome when the commit is managed by the resource manager, or when a transaction manager is managing the transaction. Switching between the different techniques to provide a guaranteed outcome occurs in a safe, performing, and silent manner, based on who controls the current transaction in a session. The solution includes one-phase processing, read only optimizations, and promotable transactions.