Recovery of the Send Process Multiplex Level by Host from a consumed state
If for some reason the Send program (XRSND) is forcibly ended during the send processing, in some cases the Send Process Multiplex Level by Host that is used for the send processing may get stuck in a consumed state within the internal files used by HULFT.
Below are examples of the Send program (XRSND) being forcibly ended.
-
The Send program (XRSND) is ended in abend (ABEND) mode
- Example:
-
F Job name of Send program,ABEND
-
The Send program (XRSND) is forcibly ended by a means such as the CANCEL command of the OS
-
The OS goes down or is forcibly stopped while the Send program (XRSND) is in execution
If the Send Process Multiplex Level by Host gets stuck in a consumed state, the following may result:
-
You cannot perform Send processing because the Send Process Multiplex Level by Host is fully consumed.
-
Despite being able to send to the other hosts, Send processing does not start for a particular host, and the processing remains in the Send Queue.
You can use the Send Process Multiplex Level by Host Consumption Recovery program to recover the Send Process Multiplex Level by Host from a consumed state. You must first stop the Send program (XRSND).
Re-creating the System Control File (HULFT.SYSCNTL) is also a method of changing the state of the Send Process Multiplex Level by Host to unconsumed, but you must stop the below programs beforehand.
-
Send program (XRSND)
-
Receive program (XRRCV)
-
Observe program (XRACCPT)
(1) Send Process Multiplex Level by Host Consumption Recovery program
Program Name
XRHSMVFY
Execution parameters (for EXEC statement)
a [{D|V}]
- a. Modification method
-
- D:
-
If the Send Process Multiplex Level by Host is consumed, the state of the multiplex level is output to a list.
Before you recover the Send Process Multiplex Level by Host, specify "D" in the EXEC parameter to confirm whether a host whose Send Process Multiplex Level by Host is stuck in a consumed state exists.
If the Send Process Multiplex Level by Host is consumed, the list shown below is output.
* XRHSMVFY * MULTIPLEX=0010,MAX=0020,HOST=HOST0001 <- The Send Process Multiplex Level by Host is 20, and 10 is consumed * XRHSMVFY * MULTIPLEX=0010,MAX=0010,HOST=HOST0002 <- The Send Process Multiplex Level by Host is 10, and because 10 is consumed, the processing remains in the Send Queue * XRHSMVFY * DISPLAY NORMAL END
- V:
-
If a host whose Send Process M Level by Host is stuck in a consumed state exists, the level is recovered from an consumed state.
Beforehand, specify "D" in the EXEC parameter to confirm whether a host whose Send Process Multiplex Level by Host is stuck in a consumed state exists. Only if such a host exists, stop the Send program (XRSND), specify "V" in the EXEC parameter, and recover the Send Process Multiplex Level by Host from a consumed state.
If the recovery is completed correctly, the message below is output.
* XRHSMVFY * VERIFY NORMAL END
If omitted, "D" is set.
XRSYSIN Definition Card
This card defines the System Environment Settings of HULFT system. For details on the definitions, refer to the explanation of the System Environment Settings in Administration Manual.
Format of definition card
START-TASK=Job Name of Send Program OPLSELECT=Operation Log Output Option (*1) CONTROL-FILE=System Control File
*1 |
: |
When you use the operation log output function, you must include definitions related to operation logs. For details, refer to Definitions for operation logs. |
-
If you specify "D" in the EXEC parameter and execute this function while the Send processing is in progress, the Send Process Multiplex Level by Host including the current sending in progress is displayed, and you may not be able to determine if it is in a state of incorrect consumption or not.
-
If you specify "V" in the EXEC parameter and execute this function while the Send program (XRSND) is running, an error occurs.
-
In an environment where the system file is used between multiple systems, if even one Send program (XRSND) is currently in execution, you cannot use this function. Stop all Send programs (XRSND), and then use this function on any of the systems.
Example of JCL
//XRHSMVFY JOB CLASS=A,MSGCLASS=B //*===================================================* //*== HOST SEND MULTIPLEX VERIFY UTL <<XRHSMVFY>> ==* //*== PARM ==* //*== 'D' : DISPLAY FUNCTION ==* //*== 'V' : VERIFY FUNCTION ==* //*===================================================* //XRHSMVFY EXEC PGM=XRHSMVFY,PARM='D',REGION=1024K //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //XRSYSIN DD DSN=HULFT.PARMLIB(HULPRM),DISP=SHR //SYSOUT DD SYSOUT=* //
DD Name |
Value |
Description |
---|---|---|
STEPLIB |
HULFT.LOAD |
HULFT load module library |
XRSYSIN |
HULFT.PARMLIB(HULPRM) |
System Environment Settings File |