Patent ID: 9165025
Filing Date: 2015-10-20
Classification: G06F

Abstract:
1. A method of transaction recovery by one transaction manager of transactions associated with another transaction manager in a transaction processing computer system in which both said transaction manager and said another transaction manager are adapted to manage two phase commit transactional operations on transactional resources and to record commit or rollback decisions in a respective transaction recovery log, each of the transaction resources being managed by a resource manager that is operable to record a prepared status of a given resource to commit changes defined by a transaction, the method comprising steps of: said one transaction manager detecting apparent unavailability of said another transaction manager for transaction processing; in response to such detection, said one transaction manager initiating a transaction recovery process for said transactions associated with said another transaction manager, said transaction recovery process including steps of: determining whether any of the transactions of said another transaction manager have all respective resources prepared to commit without there yet being a pending commit decision record in a transaction recovery log of said another transaction manager and, if such a transaction is identified, writing a rollback record indicating an intention to roll back the identified transaction in said transaction recovery log of said another transaction manager if no commit decision record has been recorded subsequent to said determining step, wherein if said another transaction manager is available for transaction processing, said another transaction manager is allowed to write a commit decision record provided there is no rollback record for the same transaction already in said transaction recovery log of said another transaction manager; and causing said one transaction manager, in the event that its attempt to write the rollback record for said identified transaction is rejected because there is already a commit record for said transaction in said transaction recovery log for said another transaction manager, to attempt to commit prepared resource changes defined by said transaction.