IP Library Granted Patent US 7,996,837
Granted Patent B2
US 7,996,837 · App. 11/416,906 · Granted Aug 9, 2011

Recovery mechanism for transactions

Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,996,837
App. No.
11/416,906
Granted
Aug 9, 2011
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for recovering from an incomplete transaction. These mechanisms and methods can enable embodiments to detect incomplete transactions when recovering from a server crash or other catastrophic event. Some embodiments can automatically re-establish interrupted connections when incomplete transactions have been detected. The ability of embodiments to detect incomplete transaction can allow recovery to initiate substantially immediately upon server restart and adapter redeployment.

Claims (44)

1. A method for recovering from an incomplete transaction, the method comprising:

creating a dummy resource to represent a real connection to a real resource and registering the dummy resource with a Transaction Manager using a name that would normally be used by said real connection to the real resource before a server crash;

checking, by the Transaction Manager, the name of the dummy resource to determine whether the name was involved in an unresolved transaction; and

creating the real connection to the real resource and performing recovery of the unresolved transaction using the real connection if the Transaction Manager determines that the name of the dummy resource was involved in the unresolved transaction, otherwise if the Transaction Manager determines that the name of the dummy resource was not involved in the unresolved transaction, avoiding creation of said real connection; and

thereby providing a notification mechanism by which the Transaction Manager is enabled to determine that the recovery is needed,

wherein creating a dummy resource and registering the dummy resource further includes:

causing the Transaction Manager to initiate recovery processing by registering a non-existent Resource Adapter with the Transaction Manager.

2. The method of claim 1 , further comprising:

creating, by the Transaction Manager, the real connection via a Resource Adapter to the real resource; and passing a recover request to a Resource Manager associated with the Resource Adapter.

3. The method of claim 1 , wherein checking, by the Transaction Manager, the name of the dummy resource to determine whether the name was involved in an unresolved transaction includes:

checking a transaction log to determine whether there were any unresolved transactions which involved a Resource Manager of the same name.

4. The method of claim 1 , further comprising:

detecting, by a Connector Container, the notification mechanism indicating that recovery is needed; and

creating said real connection via a Resource Adapter and passing on a recover request to a Resource Manager associated with the Resource Adapter.

5. A non-transitory machine-readable storage medium storing one or more sequences of instructions for recovering from an incomplete transaction, said instructions, when executed by one or more processors, causing the one or more processors to perform a set of steps including:

creating a dummy resource to represent a real connection to a real resource and registering the dummy resource with a Transaction Manager using a name that would normally be used by said real connection to the real resource before a server crash;

checking, by the Transaction Manager, the name of the dummy resource to determine whether the name was involved in an unresolved transaction; and

creating the real connection to the real resource and performing recovery of the unresolved transaction using the real connection if the Transaction Manager determines that the name of the dummy resource was involved in the unresolved transaction, otherwise if the Transaction Manager determines that the name of the dummy resource was not involved in the unresolved transaction, avoiding creation of said real connection; and

thereby providing a notification mechanism by which the Transaction Manager is enabled to determine that the recovery is needed,

wherein the instructions for carrying out the step of creating a dummy resource and registering the dummy resource with a Transaction Manager further include instructions for carrying out the step of:

causing the Transaction Manager to initiate recovery processing by registering a non-existent Resource Adapter with the Transaction Manager.

6. The non-transitory machine-readable storage medium as recited in claim 5 , further comprising instructions for carrying out the step of:

creating, by the Transaction Manager, the real connection via a Resource Adapter to the real resource; and passing a recover request to a Resource Manager associated with the Resource Adapter.

7. The non-transitory machine-readable storage medium as recited in claim 5 , wherein the instructions for carrying out the step of checking, by the Transaction Manager, the name of the dummy resource to determine whether the name was involved in an unresolved transaction further include instructions for carrying out the step of:

checking a transaction log to determine whether there were any unresolved transactions which involved a Resource Manager of the same name.

8. The non-transitory machine-readable storage medium as recited in claim 5 , further comprising instructions for carrying out the step steps of:

detecting, by a Connector Container, the notification mechanism indicating that recovery is needed; and

creating the real connection via a Resource Adapter and passing on a recover request to a Resource Manager associated with the Resource Adapter.

9. A system for recovering from an incomplete transaction, the system comprising:

one or more processors; and

one or more stored sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform a set of steps including:

creating a dummy resource to represent a real connection to a real resource and registering the dummy resource with a Transaction Manager using a name that would normally be used by said real connection to the real resource before a server crash;

checking, by the Transaction Manager, the name of the dummy resource to determine whether the name was involved in an unresolved transaction; and

creating the real connection to the real resource and performing recovery of the unresolved transaction using the real connection if the Transaction Manager determines that the name of the dummy resource was involved in the unresolved transaction, otherwise if the Transaction Manager determines that the name of the dummy resource was not involved in the unresolved transaction, avoiding creation of said real connection; and

thereby providing a notification mechanism by which the Transaction Manager is enabled to determine that the recovery is needed,

wherein creating a dummy resource and registering the dummy resource further includes:

causing the Transaction Manager to initiate recovery processing by registering a non-existent Resource Adapter with the Transaction Manager.

10. The system of claim 9 , further comprising instructions processed by the one or more processors to perform a step of:

creating, by the Transaction Manager, the real connection via a Resource Adapter to the real resource; and passing a recover request to a Resource Manager associated with the Resource Adapter.

11. The system of claim 9 , wherein checking, by the Transaction Manager, the name of the dummy resource to determine whether the name was involved in an unresolved transaction further includes:

checking a transaction log to determine whether there were any unresolved transactions which involved a Resource Manager of the same name.

12. The system of claim 9 , further comprising instructions processed by the one or more processors to perform the steps of:

detecting, by a Connector Container, the notification mechanism indicating that recovery is needed; and

creating said real connection via a Resource Adapter and passing on a recover request to a Resource Manager associated with the Resource Adapter.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2010
From: BEA SYSTEMS, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025192/0244 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2006
From: CHESEBRO, BRIAN CHRISTOPHER; GISH, JAMES WILLIAM; CODANDA, CHINNAPPA GANAPATHY
To: BEA SYSTEMS, INC.
Reel/Frame 018227/0715 →
Continuity (1)
Related Publication 20070261054A1 · Nov 8, 2007