Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
Delegate_Commit_Agent_UR (ATRADCT, ATRADCT1, ATR4ADCT) z/OS MVS Programming: Resource Recovery SA23-1395-00 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A resource manager that has taken the server distributed syncpoint resource manager (SDSRM) role calls Delegate_Commit_Agent_UR to tell RRS to initiate and complete a syncpoint operation for the unit of recovery (UR) associated with the specified UR interest. This single call replaces a call to Prepare_Agent_UR, possibly followed by a call to either Commit_Agent_UR or Backout_Agent_UR. There are three versions of Delegate_Commit_Agent_UR.
When the SDSRM calls ATRADCT, RRS takes responsibility for making the commit or backout decision for the UR based on the collective prepare vote. The UR will bypass the in-doubt state and transition directly into in-commit or in-backout. When the SDSRM calls ATRADCT1 or ATR4ADCT, if commit_options indicated that the SDSRM's interest is to be removed, RRS deletes the SDSRM's interest and lets other resource manager(s) take responsibility for making the commit or backout decision. If there is only one other Resource Manager with a single expression of interest, and it provides an Only_Agent exit, RRS will drive its Only_Agent exit. When the Only_Agent exit returns control, RRS considers the UR processing to be complete. If there is more than one Resource Manager or the only Resource Manager did not provide an Only_Agent exit, RRS will perform a two-phase commit processing for the UR, and commit or backout the UR based on the collective prepare vote. In this case, UR will bypass the in-doubt state and transition directly into in-commit or in-backout. A successful call to Delegate_Commit_Agent_UR changes the UR state to either in-forget or forgotten, depending on the value of log_option specified on the call. If the return code is ATR_PROGRAM_STATE_CHECK, the UR state will remain unchanged. RRS will implicitly change the log_option to
ATR_DEFER_EXPLICIT under any of the following conditions:
RRS waits for Forget_Agent_UR to ensure that the resource manager that has taken the SDSRM role is always informed of the results of the UR. This allows the resource manager to safely prevote its BACKOUT and COMMIT exits. With ATRADCT1 or ATR4ADCT, if the Delete Interest option has been requested and a State Check Exit returns the ATRX_STATE_INCORRECT return code, the syncpoint will be backed out because the SDSRM's interest was deleted prior to the beginning of the syncpoint processing. EnvironmentThe requirements for the caller are:
Programming requirementsEither link edit your object code with the linkable stub routine ATRRCSS (31 bit) or ATRR4CSS (64 bit) from SYS1.CSSLIB, or LOAD and CALL the callable service. The high level language (HLL) definitions for the callable service are:
RestrictionsTo use this service:
Caution: The resource manager must ensure that no application can be updating protected resources for the unit of recovery being committed. This is necessary to ensure that no resource manager taking part in the unit of recovery sees updates being made on behalf of a unit of recovery at the same time the updates are executing syncpoint processing. Input register informationBefore issuing the call, the caller does not have to place any information into any register unless using it in register notation for the parameters, or using it as a base register. Output register informationWhen control
returns to the caller, the GPRs contain:
When control returns to the caller, the ARs
contain:
Some callers depend on register contents remaining the same before and after issuing a call. If the system changes the contents of registers on which the caller depends, the caller must save them before calling the service, and restore them after the system returns control. Performance implicationsNone. Syntax
ParametersThe parameters are explained
as follows:
ABEND codesThe call might result in an abend X'5C4' with a reason code of either X'00220000' or X'00220001'. See z/OS MVS System Codes for the explanations and actions. Return codesWhen the service returns control to the resource manager, GPR 15 and return_code contain a hexadecimal return code.
ExampleIn the pseudocode example, the
resource manager issues a call to tell RRS to initiate and complete
a syncpoint operation for a UR. Storage for the call parameters has
been allocated.
|
Copyright IBM Corporation 1990, 2014
|