Transaction Coordinator Proxy for In-Doubt Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In transaction processing systems, communications failures between the transaction coordinator and resource managers can lead to in-doubt transactions, requiring a mechanism to resolve these quickly without data loss and without significant changes to the system, especially in environments where resource managers are grouped and interchangeable.
Innovation Solution
The transaction coordinator connects to a second resource manager, sends a resolve request, and obtains a lock to determine whether the transaction is associated with the first resource manager, allowing for resolution of in-doubt transactions by determining and applying the appropriate commit or rollback decision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a traditional transaction coordinator directly manages communication with resource managers, then transaction coordination is straightforward, but the system lacks high availability and load balancing capabilities when resource managers fail or need to be replaced
Solution Approach 1:
The patent introduces a proxy resource manager as an intermediary between the transaction coordinator and the actual resource manager. This proxy acts as a mediator that can take over when the original resource manager fails, enabling high availability without requiring the transaction coordinator to directly manage failover logic. The proxy resource manager receives transactions intended for the original resource manager and can resolve in-doubt transactions, thereby improving reliability while keeping the transaction coordinator's complexity unchanged.
2Reliability
If resource managers are grouped and interchangeable to enable failover, then high availability is achieved, but resolving in-doubt transactions becomes complex and time-consuming
Solution Approach 1:
The patent implements preliminary action by having the proxy resource manager proactively obtain locks on transaction data associated with the original resource manager before actually needing to resolve in-doubt transactions. This advance preparation ensures that when failover is needed, the proxy already has the necessary access rights and can immediately resolve transactions without delay, thus reducing transaction resolution time while maintaining failover capability.
3Productivity
If the transaction coordinator maintains direct control over all resource managers, then transaction consistency is ensured, but the system cannot quickly resolve in-doubt transactions when communication failures occur
Solution Approach 1:
The proxy resource manager serves as an intermediary that maintains access to transaction data even when the original resource manager is unavailable. When communication failures occur, the proxy can independently access and resolve in-doubt transactions using the transaction data it has cached or can retrieve, thereby speeding up transaction resolution without losing access to transaction information.
4Reliability
If locks are obtained on all transaction data immediately upon failure detection, then data consistency is maintained, but system performance degrades due to lock contention
Solution Approach 1:
The patent applies partial action by having the proxy resource manager obtain locks only on specific transaction data that is relevant to in-doubt transactions, rather than locking all transaction data associated with the original resource manager. This selective locking approach maintains data consistency for critical transactions while minimizing lock contention and preserving overall system throughput.
Data Source
AI summary
A method for aiding resolution of a transaction for use with a transactional processing system comprising a transaction coordinator and a plurality of grouped and inter-connected resource managers, the method comprising the steps of: in response to a communications failure between the transaction coordinator and a first resource manager causing a transaction to have an in-doubt state, connecting, by the transaction coordinator, to a second resource manager; in response to the connecting step, sending by the transaction coordinator to the second resource manager, a resolve request comprising a resolution for the in-doubt transaction; in response to the resolve request, obtaining at the first resource manager, by the second resource manager, a lock to data associated with the in-doubt transaction; and in response to the obtaining step, determining, by the second resource manager, whether the transaction is associated with the first resource manager.


