z/OS MVS Programming: Resource Recovery
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Setting exits with RRS

z/OS MVS Programming: Resource Recovery
SA23-1395-00

Your resource manager can provide exit routines to be invoked for events during the two-phase commit protocol for a unit of recovery (UR). Table 1 lists the RRS exit routines. A resource manager can cause RRS to bypass the required COMMIT, BACKOUT, and PREPARE exit routines by supplying the return codes for these exits in a call to the Set_Syncpoint_Controls service.

Table 1. Summary of RRS Exit Routines

Exit Number in:
Hexadecimal
(Decimal)
Equate Symbol

Exit routine Event Required or optional

1
(1)
ATR_STATE_CHECK_
   EXIT

STATE_CHECK An application program called the Commit_UR service or the Application_Commit_UR service, or a server distributed syncpoint resource manager (SDSRM) called the Prepare_Agent_UR service. Optional.

If not provided, RRS assumes the state of the resource manager's resources is correct for all commit requests.

See STATE_CHECK exit routine.

2
(2)
ATR_PREPARE_EXIT

PREPARE The UR entered the in-prepare state. Required.

If the Set_Syncpoint_Controls service provides a return code for the PREPARE exit, RRS bypasses the exit for that expression of interest only.

See PREPARE exit routine.

3
(3)
ATR_DISTRIBUTED_
   SYNCPOINT_EXIT

DISTRIBUTED_
   SYNCPOINT

In distributed processing of a UR, the return codes from the PREPARE exit routines include at least one OK, no backout, and no heuristic-mixed effect. The UR state is in-doubt.

Note that your resource manager must call the Set_Syncpoint_Controls service to enable the DISTRIBUTED_ SYNCPOINT exit routine.

Optional.

A resource manager that takes the distributed syncpoint manager (DSRM) role provides this exit routine.

If it is not provided, RRS coordinates the commit processing and rejects any resource manager call to the Set_Syncpoint_Controls service that specifies the DSRM role.

See DISTRIBUTED_SYNCPOINT exit routine.

4
(4)
ATR_COMMIT_EXIT

COMMIT The UR entered the in-commit state, or a server distributed syncpoint resource manager (SDSRM) called the Commit_Agent_UR service. Required.

If the Set_Syncpoint_Controls service provides a return code for the COMMIT exit, RRS bypasses the exit for that expression of interest only.

See COMMIT exit routine.

5
(5)
ATR_BACKOUT_EXIT

BACKOUT The UR entered the in-backout state, or a server distributed syncpoint resource manager (SDSRM) called the Backout_Agent_UR service. Required.

If the Set_Syncpoint_Controls service provides a return code for the BACKOUT exit, RRS bypasses the exit for that expression of interest only.

See BACKOUT exit routine.

6
(6)
ATR_END_UR_EXIT

END_UR The UR entered the in-end state. Optional.
If not provided, RRS considers the resource manager's interest in the UR complete when its COMMIT or BACKOUT exit routine completes, unless either of the following is true:
  • The resource manager has an enabled COMPLETION exit routine.
  • The resource manager is an SDSRM; RRS must wait for the resource manager to call Forget_Agent_UR_Interest before RRS can complete UR processing.

See END_UR exit routine.

7
(7)
ATR_EXIT_FAILED_
   EXIT

EXIT_FAILED An RRS exit routine failed. Required.

See EXIT_FAILED exit routine.

8
(8)
ATR_COMPLETION_
   EXIT

COMPLETION A UR being processed across distributed systems completed, and a call to the Set_Side_Information service specified ATR_DRIVE_ COMPLETION. Optional.
If not provided, RRS assumes the resource manager requires no actions when distributed UR processing is completed, unless the following is true:
  • The resource manager is an SDSRM; RRS must wait for the resource manager to call Forget_Agent_UR_Interest before RRS can complete UR processing.

See COMPLETION exit routine.

9
(9)
ATR_ONLY_AGENT_
   EXIT

ONLY_AGENT Only one resource manager expressed only one interest in the UR, and the application requested commit. (If the application requested backout, RRS drives the BACKOUT exit routine.) Optional.

If not provided, RRS invokes the resource manager's PREPARE exit routine and continues with the standard two-phase commit protocol.

See ONLY_AGENT exit routine.

10
(10)
ATR_SUBORDINATE_
FAILED_EXIT

SUBORDINATE_ FAILED FEither RRS or a resource manager on a subordinate system failed, the subordinate system itself terminated, or the context associated with the subordinate UR abnormally terminated. Optional.

See SUBORDINATE_FAILED exit routine.

B
(11)
ATR_
PRE-PREPARE_EXIT

PRE_PREPARE An application program called:
  • Commit_ UR (ATRCMIT, ATR4CMIT) service
  • Application_Commit_UR (SRRCMIT) service
  • End_Transaction (ATREND, ATR4END) service
  • End_Context (CTXENDC, CTX4ENDC) service
  • Server distributed syncpoint resource manager (SDSRM) called the Prepare_Agent_UR (ATRAPRP, ATR4APRP) service
  • Delegate_Commit_ Agent_UR (ATRADCT, ATRADCT1, ATR4ADCT) service

The UR stays in-flight state.

Optional.

If not provided, RRS will proceed to process the optional State_Check exit.

See PRE_PREPARE exit routine for more information.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014