Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
Prepare_Agent_UR (ATRAPRP, ATR4APRP) z/OS MVS Programming: Resource Recovery SA23-1395-00 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A resource manager that has taken the server distributed syncpoint resource manager (SDSRM) role calls Prepare_Agent_UR to tell RRS to initiate the prepare phase of a syncpoint operation for the unit of recovery (UR) associated with the specified UR interest. When the SDSRM calls this service, RRS collects the local prepare votes and does one of the following:
A successful call to Prepare_Agent_UR changes the UR state to in-doubt or forgotten. If a resource manager with an interest in a UR has taken the SDSRM
role, RRS will implicitly change the log_option to
ATR_DEFER_EXPLICIT (see Commit_Agent_UR (ATRACMT, ATR4ACMT)) under
any of the following conditions:
If any of these conditions has occurred, RRS returns the ATR_UR_STATE_ERROR
return code. The UR might be in any state, but, once it reaches in-forget,
it will remain in that state until the Forget_Agent_UR service is
called. 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 pre-vote its
BACKOUT and COMMIT exits.
Note: The SDSRM may issue Forget_Agent_UR
without waiting for the UR to reach the in-forget state.
Environment
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 the service:
Attention: Do not invoke this service to prepare a UR with a work context associated with a task in the resource manager's address space. If you do, it might be impossible for the resource manager address space to end or for the resource manager to restart without a complete system restart. CAUTION: The resource
manager must ensure that no application can be updating protected
resources for the unit of recovery being prepared. 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 as they 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'001D0000' or X'001D0001'. 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 wants to initiate the prepare phase of syncpoint
for the unit of recovery. Storage for the call parameters has been
allocated.
|
Copyright IBM Corporation 1990, 2014
|