Chapter 1. Release summary
4.4 Commands to manipulate the common recall queue
4.4.4 RECALL
Although there are no changes to the syntax of the RECALL command, there are some changes to the impact that the command has. The scope of the RECALL command is changed. If there is a CRQ in place, there is no way to direct that an explicit host will process a particular command without changing the HOLD status of systems; whereas previously, RECALLs were always processed on the DFSMShsm that received them.
4.4.5 QUERY command
There is both a new operand for the QUERY command and changes to the results of several of the query commands to support the CRQ.
QUERY COMMONQUEUE
This is a new command that returns the status of the CRQ. We show a sample output in Figure 4-12.
Figure 4-12 Output from a QUERY COMMONQUEUE command
The QUERY COMMONQUEUE(RECALL) command returns information for the CRQ and the requests on the CRQ. The results should be the same no matter which host it is issued from. This command may result in large amounts of data being returned to you if there are many recall requests on the CRQ. You can also issue a QUERY COMMONQUEUE command with no RECALL operand, with this form of the command DFSMShsm returns only message ARC1545I.
RO SC63,F HSM,Q CQ(R)
ARC1545I COMMON QUEUE STRUCTURE FULLNESS: COMMON
ARC1545I (CONT.) RECALL QUEUE:STRUCTURE ENTRIES=004% FULL, STRUCTURE ARC1545I (CONT.) ELEMENTS=004% FULL ARC0162I RECALLING DATA SET MHLRES4.TEST5.A1 FOR USER
ARC0162I (CONT.) MHLRES3, REQUEST 00000053 ON HOST 4 ARC0162I RECALLING DATA SET MHLRES4.TEST1.A3 FOR USER
ARC0162I (CONT.) MHLRES3, REQUEST 00000017 ON HOST 4 ARC1543I RECALL MWE FOR DATASET MHLRES4.TEST1.A4, FOR
ARC1543I (CONT.) USER MHLRES3, REQUEST 00000018, WAITING TO BE ARC1543I (CONT.) PROCESSED ON A COMMON QUEUE,00000000 MWES AHEAD OF ARC1543I (CONT.) THIS ONE ARC1543I RECALL MWE FOR DATASET MHLRES4.TEST1.A5, FOR
ARC1543I (CONT.) USER MHLRES3, REQUEST 00000019, WAITING TO BE ARC1543I (CONT.) PROCESSED ON A COMMON QUEUE,00000001 MWES AHEAD OF ARC1543I (CONT.) THIS ONE
Chapter 4. DFSMShsm enhancements 87
QUERY ACTIVE
The QUERY ACTIVE command has been enhanced to show the status of the CRQ. We show partial output from a QUERY ACTIVE command in Figure 4-13.
Figure 4-13 Partial output from a QUERY ACTIVE command
QUERY ACTIVE only produces information about the current status of the host it was directed to. If you are trying to determine the cause of a problem, you may need to issue this command to all DFSMShsms that are connected to the common queue.
QUERY DATASETNAME
There are no changes for the QUERY DATASET command. The
QUERY DATASETNAME command only returns information about recall requests that originated on the host that executes the command.
QUERY REQUEST
The QUERY REQUEST command has been enhanced to return the location of outstanding recall requests. It now distinguishes whether a request is to be found on a common recall queue or the local recall queue. We show the output from a QUERY REQUEST command in Figure 4-14. A new message ARC1543I is issued for requests that are on the CRQ.
The QUERY REQUEST command only returns information about recall requests that originated on the host that executes the command. If the recall is currently being processed by another host, this information is available from the response to the QUERY REQUEST command. For example, in Figure 4-14, the RECALL and QUERY commands were issued from HOST=3, but the recall request is being processed by HOST=4.
F HSM,Q AC ARC0101I QUERY ACTIVE COMMAND STARTING ON HOST=3 ...
ARC1540I COMMON RECALL QUEUE PLACEMENT FACTORS:
ARC1540I (CONT.) CONNECTION STATUS=CONNECTED,CRQPLEX HOLD STATUS=NONE, ARC1540I (CONT.) HOST COMMONQUEUE HOLD STATUS=NONE,STRUCTURE ARC1540I (CONT.) ENTRIES=004% FULL,STRUCTURE ELEMENTS=004% FULL ARC1541I COMMON RECALL QUEUE SELECTION FACTORS:
ARC1541I (CONT.) CONNECTION STATUS=CONNECTED,HOST RECALL HOLD ARC1541I (CONT.) STATUS=NONE,HOST COMMONQUEUE HOLD ARC1541I (CONT.) STATUS=CQ(RECALL(SELECTION)) ARC0101I QUERY ACTIVE COMMAND COMPLETED ON HOST=3
Figure 4-14 Output from a QUERY REQUEST command
QUERY WAITING
The QUERY WAITING command also returns information about requests that are currently on the CRQ. We illustrate this in Figure 4-15.
Figure 4-15 Output from a QUERY WAITING command
The QUERY WAITING command shows the number of requests currently on the CRQ in message ARC1542I. However it will only show recall requests that are in its own local queue in message ARC0168I.
F HS*,Q REQ ARC0101I QUERY REQUEST COMMAND STARTING ON HOST=3
ARC0162I RECALLING DATA SET MHLRES4.TEST1.A3 FOR USER
ARC0162I (CONT.) MHLRES3, REQUEST 00000017 ON HOST 4 ARC0162I RECALLING DATA SET MHLRES4.TEST5.A1 FOR USER
ARC0162I (CONT.) MHLRES3, REQUEST 00000053 ON HOST 4 ARC1543I RECALL MWE FOR DATASET MHLRES4.TEST1.A4, FOR
ARC1543I (CONT.) USER MHLRES3, REQUEST 00000018, WAITING TO BE ARC1543I (CONT.) PROCESSED ON A COMMON QUEUE,00000000 MWES AHEAD OF ARC1543I (CONT.) THIS ONE ARC1543I RECALL MWE FOR DATASET MHLRES4.TEST1.A5, FOR
ARC1543I (CONT.) USER MHLRES3, REQUEST 00000019, WAITING TO BE ARC1543I (CONT.) PROCESSED ON A COMMON QUEUE,00000001 MWES AHEAD OF ARC1543I (CONT.) THIS ONE ARC0167I RECALL MWE FOR DATA SET MHLRES4.TEST5.A10 FOR
ARC0167I (CONT.) USER MHLRES3, REQUEST 00000020, WAITING TO BE ARC0167I (CONT.) PROCESSED, 00003 MWE(S) AHEAD OF THIS ONE
F HSM,Q W ARC0101I QUERY WAITING COMMAND STARTING ON HOST=3 ARC1542I WAITING MWES ON COMMON QUEUES: COMMON RECALL
ARC1542I (CONT.) QUEUE=00000210,TOTAL=00000210 ARC0168I WAITING MWES: MIGRATE=00000, RECALL=00000,
ARC0168I (CONT.) DELETE=00000, BACKUP=00000, RECOVER=00000, ARC0168I (CONT.) COMMAND=00000, ABACKUP=00000, ARECOVER=00000, ARC0168I (CONT.) TOTAL=000000 ARC0101I QUERY WAITING COMMAND COMPLETED ON HOST=3
Chapter 4. DFSMShsm enhancements 89
4.4.6 SETSYS command
There is one new SETSYS command introduced. The
SETSYS COMMONQUEUE command. This command can be used to both connect a DFSMShsm system to the CRQ or disconnect a system from the CRQ. The syntax of the command is:
SETSYS COMMONQUEUE(RECALL(CONNECT(basename))) SETSYS COMMONQUEUE(RECALL(DISCONNECT))
The CONNECT command can be issued either during execution of your ARCCMDxx member or issued as an explicit command once your DFSMShsm address space has initialized. We showed an example of this command in Figure 4-6 on page 79.
The SETSYS COMMONQUEUE(RECALL(DISCONNECT)) command should not be issued during normal DFSMShsm operations. DFSMShsm does not require that you manually disconnect it from the CRQ during shutdown processing. Please read the discussion in “Disconnecting from the common recall queue” on page 96 before using the command
SETSYS COMMONQUEUE(RECALL(DISCONNECT))
There is also a change in processing for SETSYS EMERGENCY. Hosts running in EMERGENCY mode are able to place recall requests on the CRQ but not able to select requests from the CRQ. If you wish to prevent hosts in EMERGENCY mode generating actual recall requests you will need to issue a
HOLD COMMONQUEUE(RECALL(PLACEMENT)) command to that host.
4.4.7 STOP command
There are no changes to the syntax or scope of the STOP command when a CRQ is implemented, but there are changes to the persistence of requests. Without a CRQ issuing the STOP command causes all WAIT recalls to be failed with message ARC1192I and requests are purged from CSA.
After implementing a CRQ a WAIT RECALL requests queued when the STOP command is issued is failed with ARC1165I, but a new NOWAIT RECALL request of same priority are created to replace the failed request. These NOWAIT RECALL requests are eligible to be processed by other active hosts still connected to the CRQ while the originating host is not active.
This is not applicable for batch WAIT type requests, which are not failed. They remain on the CRQ and in CSA so that a request can time-out if it is not processed in a timely manner. The batch wait type requests are eligible to be processed by other active hosts still connected to the CRQ.
4.4.8 AUDIT Command
A new operand is added to the AUDIT command:
AUDIT COMMONQUEUE(RECALL)
This can be issued with either FIX or NOFIX. This command executes only on the host that is issued on but may impact all DFSMShsm hosts attached to the CRQ. We discuss using the AUDIT COMMONQUEUE(RECALL) further in “Auditing the CRQ” on page 106.
Message ARC1544I is the only output that AUDIT COMMONQUEUE(RECALL) returns. It does not return a specific message for each error. We show the output from an AUDIT COMMONQUEUE NOFIX in Figure 4-16.
Figure 4-16 AUDIT COMMON QUEUE command
4.5 Using the CRQ
Once an DFSMShsm address space has connected to the CRQ, any recall requests that were queued locally in this host for processing are moved to the common queue. Any recall requests that this host is currently processing are completed by this host.
All DELETE requests continue to be processed locally rather than being placed on the CRQ.
If a HOLD RECALL command has been issued for this DFSMShsm host, recall requests are accepted by this host and placed on the CRQ by this host as long as a HOLD COMMONQUEUE(RECALL(PLACEMENT)) command is not also in effect. A host that has had a HOLD RECALL issued will not process recall requests from either the CRQ or its local recall queue. If recall is held on a host other DFSMShsm address spaces connected to the CRQ will still process requests placed on the queue by the held host. You should use the HOLD COMMONQUEUE command to help manage how hosts place and remove requests from the common queue.
F HSM,AUDIT CQ NOFIX
ARC1544I AUDIT COMMONQUEUE HAS COMPLETED, 0000 ERRORS
Chapter 4. DFSMShsm enhancements 91
You can display the HOLD status of the CRQ by issuing the QUERY ACTIVE command, a portion of sample output from the QUERY ACTIVE command is included in Figure 4-17. Holding the CRQ will direct recall requests to the local recall queue. We discuss this in “Impact of HOLD and RELEASE commands” on page 98.
Figure 4-17 Output from a QUERY ACTIVE command
In Figure 4-17, for the host queried, RECALL was active, but a
HOLD RECALL(TAPE) command had been issued. This host was allowed to select work from the CRQ but a HOLD CQ(R(PLACEMENT)) command had been issued and this DFSMShsm was unable to place new work onto the queue. The impact of these commands is summarized in “Impact of HOLD and
RELEASE commands” on page 98.