Browse Prior Art Database

Resolution of In-Doubt Recoverable Units of Work

IP.com Disclosure Number: IPCOM000050909D
Original Publication Date: 1982-Dec-01
Included in the Prior Art Database: 2005-Feb-10
Document File: 5 page(s) / 37K

Publishing Venue

IBM

Related People

Carr, C: AUTHOR [+3]

Abstract

This article describes a method for resolving recoverable units of work in a system including a coordinator node and one or more participant nodes, where a participant node is in an in-doubt state during two-phase commit processing between a prepare request and a commit request from the coordinator node, and when in the in-doubt state has one or more resources in a locked state.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 33% of the total text.

Page 1 of 5

Resolution of In-Doubt Recoverable Units of Work

This article describes a method for resolving recoverable units of work in a system including a coordinator node and one or more participant nodes, where a participant node is in an in-doubt state during two-phase commit processing between a prepare request and a commit request from the coordinator node, and when in the in-doubt state has one or more resources in a locked state. The method comprises the following steps executed in each participant node: (A) responsive to a prepare request which includes a

coordinator supplied identifier,

(1) determining that the identifier is unique with respect

to other in-doubt units of work;

(2) if unique, returning a positive response if the

resources can be committed; and

(3) otherwise, returning a negative response; and

(B) responsive to a prepare request which does not include a

coordinator-supplied identifier, returning a negative

response; whereby all participant nodes can identify the coordinator node and the process being executed by the coordinator node upon restart from a failure.

TWO-PHASE COMMIT PROTOCOL. When a single unit of work involves more than a single domain, either in a distributed or non-distributed environment, only one of the domains (normally the one where the work unit originated) can act as the coordinator of the commit process; other domains are participants in this process. Resolution of the outcome of the unit of work between coordinator and participant (during normal operation) is a widely understood concept, commonly referred to as two-phase commit.

In phase one of the two-phase commit process, the coordinator asks all participants to get ready to commit resources (PREPARE). The participants respond to this request by placing all of their resources into a state from which they can insure that they are able to respond to a COMMIT or an ABORT request from the coordinator. The participants then respond to the coordinator with a positive response if they can guarantee that the resources can be committed or a negative response if they cannot guarantee commit. If the participant responds positively to phase 1, then the participant must wait until the coordinator decides whether to commit or abort. This period of time between positive response by a participant, and receipt of a COMMIT or ABORT request from the coordinator is referred to as the 'IN-DOUBT' phase. That is, the participant is 'IN-DOUBT' as to the final disposition of the unit of work.

After all participants have successful prepared, the coordinator instructs all participants to commit. If any participant was unable to prepare, then the coordinator instructs all participants to abort.

This can be described graphically over time as in Fig. 1, where the following description applies:

1

Page 2 of 5

- T1 - A unit of work is originated and this node (C1) becomes

the recovery coordinator of the unit of work. - T2 - The unit of work has completed its processing at C1...