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


Restarting

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

The processing steps required to start a resource manager for the first time or to restart it at a later time are basically the same.

When a resource manager restarts, RRS requires it to use the same resource manager name that it used when it was previously running. This requirement exists because RRS uses the resource manager name to identify incomplete URs across failures that involve the resource manager. The name must be unique in a sysplex.

After a resource manager has set its exit routines, it must:
  • Check that the logs being used are the same as the logs used previously
  • Obtain any interests in URs that were left as incomplete when it or RRS previously stopped running
  • Respond to any incomplete interests, based on the information returned from RRS and the information in the resource manager logs.

    RRS does not return the incomplete URs in any particular order. If the resource manager expressed protected interest several times in a UR, RRS returns each interest separately with its unique UR interest token.

    Table 1 describes the recovery records RRS returns to the resource manager when it restarts after a failure, whether the failure was caused by the resource manager, RRS, or the system. See Configuring and defining RRS logging requirements for more information about records logged by RRS.

Once a resource manager has set its exits with RRS, it is considered active on the system. If the resource manager cannot successfully restart on the same system it was running on before it failed, then it needs to unregister itself as a resource manager on that system prior to restarting on another system.

Table 1. UR States and Recovery Records
UR State at time of failure Recovery records at restart
In-reset Nothing.
In-flight Nothing.
In-state-check Nothing.
In-prepare For presumed nothing protocol, in-backout information. Otherwise, nothing.

For presumed abort protocol, nothing.

In-doubt In-doubt information. If the UR state is resolved before the resource manager restarts, in-commit or in-backout information.
In-commit In-commit information.
In-backout For a presumed nothing expression of interest if RRS has logged an in-prepare record, in-backout information. Otherwise, nothing.

For presumed abort protocol, when RRS has logged an in-doubt record, in-doubt information. Otherwise, nothing.

In-end, in-completion, or in-forget with a commit collective vote In-commit information.
In-end, in-completion, or in-forget with a backout collective vote For a presumed nothing expression of interest if RRS has logged an in-prepare record, in-backout information. Otherwise, nothing.

For presumed abort protocol, when RRS has logged an in-doubt record, in-doubt information. Otherwise, nothing.

In-only-agent Nothing.

The resource manager must use its own logs to process the UR at restart. The resource manager should try to back out because RRS returned BACKOUT_ OUTCOME_PENDING to the application. If backout is not possible, the resource manager should notify installation personnel.

When RRS indicates that there are no more incomplete URs, the resource manager ends restart. Once the resource manager ends restart (calls the End_Restart service), it can begin to process new URs.

The services the resource manager uses during restart are:

Callable service Description
Retrieve_Log_Name Retrieve the resource manager log name and the RRS log name as a check that the restart logs are the same as the previously used logs.
Set_Log_Name If the resource manager is starting for the first time, provide the resource manager log name to RRS, in preparation for a future restart.
Begin_Restart Begin the restart process.
Retrieve_UR_Interest Retrieve an incomplete UR interest. The resource manager should repeat these calls until RRS indicates it has no more incomplete URs.
End_Restart End the restart process. The resource manager must issue this call before it can process any new URs.
Respond_to_Retrieved_Interest Respond to each retrieved incomplete UR. If the resource manager does not complete its processing of a retrieved UR, RRS returns the UR again when the resource manager next restarts.

For information on the calls, see Callable resource recovery services.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014