Populating the common recall queue
A host that is participating in CRQplex-wide recall processing attempts to place all of its recall requests onto the CRQ. Requests are placed on the CRQ if the following conditions are true:
- The host has a successful connection to the CRQ.
- The hold status of the host and CRQ eligibility allows the request
to be placed on the CRQ. The following conditions must be true to
allow placement on the CRQ:
- The host must not have HOLD COMMONQUEUE(RECALL(PLACEMENT)) or higher level of Hold in effect.
- For WAIT requests, at least one host that is connected to the CRQ must be eligible to process the request. This is what is meant by “CRQ eligibility”. This requirement prevents a WAIT request from being placed onto the CRQ and waiting indefinitely to be processed. For example, if HOLD RECALL(TAPE) is in effect on all hosts connected to the CRQ, then all WAIT recall requests that require an ML2 tape will fail. If at least one host does not have HOLD RECALL(TAPE) in effect, then those requests are placed.
- The CRQ is less than 95% full. Or, if it recently exceeded the 95% threshold, it has dropped back below 85%.
If recall requests are unexpectedly not placed onto the CRQ, issue the QUERY ACTIVE command and examine message ARC1540I. It will indicate which of the above conditions is not being met.
Any request that cannot be placed onto the CRQ is placed on the local queue of the originating host.
Recall requests that can be placed onto the CRQ are sorted by WAIT or NOWAIT status and priority. WAIT requests are always a higher priority than NOWAIT requests. Requests of the same priority are sorted in FIFO order, with the exception that NOWAIT requests of priority 50 are subsorted with requests from multiple users. This subsorting prevents a single user with many requests from blocking other users' requests for an extended period of time.
The host that initiates the recall request invokes user exit ARCRPEXT, if the exit is enabled. The processing host invokes user exit ARCRDEXT, if the exit is enabled. You can ensure consistent processing by using common RD exits throughout the CRQplex. The RP exit may be used to assign requests that originate on one host a higher or lower priority in relation to the priorities set by RP exits on other hosts. The default priority for these requests is 50. Refer to z/OS DFSMS Installation Exits for a description of these user exits.
The SETSYS EMERGENCY command does not affect the placement of recall requests onto the CRQ. This allows a host that is in emergency mode to place its requests onto the CRQ and enables other active hosts to process those requests. Use the HOLD COMMONQUEUE(PLACEMENT) command to prevent recalls from being placed onto the CRQ when the emergency mode is in effect.