Determiner Resource Manager for Log-Free Transaction Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multitenant application server environments, existing systems face challenges in efficiently recovering transactions without relying on transaction logs, which can lead to performance and administrative costs due to the need for persistent recovery information and stable storage.
Innovation Solution
Designating a determiner resource manager per partition to eliminate the need for transaction logs by enforcing strict ordering of two-phase commit calls, allowing transaction recovery through comparison of in-doubt transactions lists from resource managers and the determiner resource manager.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If transaction logs are used for transaction recovery, then transaction recovery reliability is improved, but device complexity and storage requirements increase
Solution Approach 1:
The patent extracts and eliminates the transaction log component from the traditional two-phase commit system. By designating a determiner resource manager that enforces strict ordering of prepare and commit calls, the system removes the need for separate transaction logs while maintaining recovery capabilities through the ordered execution protocol itself.
Solution Approach 2:
The determiner resource manager serves multiple functions: it acts as both a resource manager and an ordering enforcement mechanism. This single component replaces the need for separate transaction logs, preparing statements, and recovery mechanisms, thereby reducing system complexity while maintaining reliability.
2Reliability
If transaction logs are maintained for recovery, then transaction recovery capability is improved, but loss of energy and persistence overhead increase
Solution Approach 1:
The patent removes the persistence overhead associated with transaction logs by eliminating the logging mechanism itself. Recovery is achieved through the strict ordering protocol where the determiner resource manager ensures that prepare and commit calls are executed in the correct sequence, eliminating the need for persistent storage of transaction state.
Solution Approach 2:
The system uses its own execution protocol and resource manager operations to enable recovery, rather than relying on external transaction logs. The determiner resource manager's ordering enforcement mechanism inherently provides the recovery information needed, making the system self-sufficient for recovery purposes.
3Productivity
If strict ordering of two-phase commit calls is enforced, then transaction recovery without logs is enabled, but processing time increases
Solution Approach 1:
The system performs preliminary actions by having the determiner resource manager enforce strict ordering of prepare calls before commit calls. This preliminary ordering establishes the execution sequence in advance, allowing faster recovery without needing to search through logs during failure scenarios.
Solution Approach 2:
The patent changes the parameter of resource manager behavior by introducing a determiner resource manager that enforces strict ordering. This parameter change in the execution protocol enables log-free recovery while the impact on processing time is mitigated by the efficiency gains from eliminating logging operations.
Data Source
AI summary
In accordance with an embodiment, described herein is a system and method for transaction recovery in a multitenant application server environment. At least one resource manager associated with a partition can be designated as a determiner resource for that partition only, in order to support eliminating transaction logs (TLOG) in processing a two-phase commit 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.


