Determiner Resource Two-Phase Commit Transaction Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Transactional middleware systems face performance challenges and increased costs due to the need for transaction manager recovery logs, which are necessary for ensuring ACID properties but incur performance, storage, and administrative costs, especially in disaster recovery scenarios.
Innovation Solution
Implementing a strict ordering of two-phase commit calls and designating a 'determiner resource' to eliminate mid-tier transaction logs, allowing the transaction manager to rely on the determiner resource's list of outstanding transactions for recovery, thereby reducing the need for transaction logging and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If transaction manager uses traditional transaction logs (TLOG) for recovery, then ACID properties are ensured, but performance and storage costs increase
Solution Approach 1:
The patent extracts the recovery information storage function from the transaction manager's TLOG and relocates it to the determiner resource manager. By designating one resource manager as the determiner, the system eliminates the need for mid-tier TLOGs while maintaining recovery capability through the determiner resource's list of outstanding transactions.
Solution Approach 2:
The determiner resource manager serves multiple functions: it acts as a normal resource manager participating in transactions, maintains the list of outstanding transactions for recovery purposes, and provides the authoritative source for recovery decisions. This multi-functionality eliminates the need for separate TLOG infrastructure.
2Reliability
If transaction manager maintains detailed transaction logs for disaster recovery, then recovery reliability improves, but storage costs and administrative overhead increase
Solution Approach 1:
The patent removes the transaction log storage burden from the mid-tier transaction manager and relocates it to the determiner resource manager. The determiner maintains only the essential list of outstanding transactions rather than detailed TLOG entries, significantly reducing storage requirements while maintaining recovery capability.
3Productivity
If strict ordering of two-phase commit calls is implemented with a determiner resource, then transaction log elimination is achieved, but system complexity increases
Solution Approach 1:
The system performs preliminary designation of a determiner resource manager before transactions begin. This pre-established hierarchy allows the strict ordering of two-phase commit calls to proceed without complex runtime decisions, as the determiner is already identified and all resource managers know their positioning relative to it.
4Productivity
If mid-tier transaction logs are eliminated, then performance improves, but recovery information availability may be compromised
Solution Approach 1:
The determiner resource manager acts as an intermediary that holds the authoritative list of outstanding transactions. Instead of the transaction manager maintaining TLOGs, the determiner resource serves as the intermediary storage point for recovery information, making it available to all participants without requiring mid-tier logging infrastructure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods are provided for supporting transaction recovery based on a strict ordering of two-phase commit calls. At least one resource manager in a mid-tier transactional environment can be designated as the "determiner resource," in order to support eliminating mid-tier transaction logs (TLOG) in processing a two-phase transaction. A transaction manager can prepare all other resource managers in the mid-tier transactional system before the determiner resource. Furthermore, the transaction manager can rely on the list of outstanding transactions to be committed that is provided by the determiner resource for recovering the transaction. The transaction manager can commit an in-doubt transaction returned from a resource manager that matches the list of in-doubt transactions returned from the determiner resource. Otherwise, the transaction manager can roll back the in-doubt transaction.