Peter Hunkeler
2015-01-06 15:32:34 UTC
I'm about to open a PMR but just thought I might overlook someting.
This is happening on a z/OS V2.1 JES2 parallel sysplex with 4 systems, two work systems and two GDPS controlling images. Both work systems have been IPLed recently (December 30 and 31).
We have the need to take spool volume SPL902 offline and have drained it. We're purging output elder than 21 days by issuing $POJQ,ALL,DAYS>21 on a daily basis. Today, I wondering that the spool volume still was quite full despite the fact that I can see only few smaller outputs in the hold and output queues (SDSF). the I found more than 1000 jobs are still in the PURGE queue, awaiting purge. JES2 does not seem to be purging and I cannot find out why. When I try to purge jobs on the purge queue, some are actually purge some not. I cannot find out why some jobs stay on the queue.
I could go on purging the jobs manually, but I would rather like to understand why purging is stuck. I'd appreciate any hint what to lock at or what to try. Below is the output of some commands (display and purge) I issued with some comments inbetween.
--
Peter Hunkeler
Status of the spool volumes as shown by $DSPL,LONG
$HASP893 VOLUME(SPL901)
$HASP893 VOLUME(SPL901) STATUS=ACTIVE,DSNAME=SYS1.HASPACE,
$HASP893 SYSAFF=(ANY),TGNUM=327275,
$HASP893 TGINUSE=18901,TRKPERTGB=3,PERCENT=5,
$HASP893 RESERVED=NO,MAPTARGET=NO
$HASP893 VOLUME(SPL902)
$HASP893 VOLUME(SPL902) STATUS=DRAINING,AWAITING(JOBS),
$HASP893 DSNAME=SYS1.HASPACE,SYSAFF=(ANY),
$HASP893 TGNUM=349335,TGINUSE=65497,TRKPERTGB=3,
$HASP893 PERCENT=18,RESERVED=NO,MAPTARGET=NO
$HASP646 5.7752 PERCENT SPOOL UTILIZATION
The status of the PURGE PCEs is as follows:
$DPCE(PURGE),LONG,DET
$HASP653 PCE(PURGE)
$HASP653 PCE(PURGE) NAME=PURGE,WAIT=PURGE,INHIBIT=NO,
$HASP653 MOD=HASPTRAK,SEQ=17246200,
$HASP653 TIME=(2015.006,13:24:06.264660),
$HASP653 ACTIVE=0,I/O=0,
$HASP653 NAME=PURGE,WAIT=PURGE,INHIBIT=NO,
$HASP653 MOD=HASPTRAK,SEQ=17246200,
$HASP653 TIME=(2015.006,13:24:06.264700),
$HASP653 ACTIVE=0,I/O=0
It seems the PCEs are waiting for work, but none is assigned even though the purge queue over 1000 jobs long.
Here is the result of a $D command for two jobs on the purge queue. Some jobs show the additonal information PURGE=YES,CANCEL=YES, some not (What does this tell me?)
$DS(489149)
$HASP890 JOB(BMCDBC)
$HASP890 JOB(BMCDBC) STATUS=(AWAITING PURGE),CLASS=STC,
$HASP890 PRIORITY=1,SYSAFF=(IND,ANY),HOLD=(NONE)
$DS(496983)
$HASP890 JOB(C2PACMON)
$HASP890 JOB(C2PACMON) STATUS=(AWAITING PURGE),CLASS=STC,
$HASP890 PRIORITY=1,SYSAFF=(IND,ANY),
$HASP890 HOLD=(NONE),PURGE=YES,CANCEL=YES
A $DS...,LONG does not show anything surprising:
$DS(496983),LONG
$HASP890 JOB(C2PACMON)
$HASP890 JOB(C2PACMON) STATUS=(AWAITING PURGE),CLASS=STC,
$HASP890 PRIORITY=1,SYSAFF=(IND,ANY),
$HASP890 HOLD=(NONE),PURGE=YES,CANCEL=YES,
$HASP890 CMDAUTH=(LOCAL),OFFS=(),SECLABEL=,
$HASP890 USERID=C2PSUSER,SPOOL=(VOLUMES=(SPL901,
$HASP890 2),TGS=2,PERCENT=0.0002),ARM_ELEMENT=NO,
$HASP890 CARDS=2,REBUILD=NO,CC=(COMPLETED,RC=0),
$HASP890 DELAY=(),CRTIME=(2014.342,12:21:43)
$DS(493612),LONG
$HASP890 JOB(BMCDBC)
$HASP890 JOB(BMCDBC) STATUS=(AWAITING PURGE),CLASS=STC,
$HASP890 PRIORITY=1,SYSAFF=(IND,ANY),HOLD=(NONE),
$HASP890 CMDAUTH=(LOCAL),OFFS=(),SECLABEL=,
$HASP890 USERID=TECBMC01,SPOOL=(VOLUMES=(SPL902),
$HASP890 TGS=5,PERCENT=0.0007),ARM_ELEMENT=NO,
$HASP890 CARDS=2,REBUILD=NO,CC=(COMPLETED,RC=0),
$HASP890 DELAY=(),CRTIME=(2014.337,11:32:39)
This is happening on a z/OS V2.1 JES2 parallel sysplex with 4 systems, two work systems and two GDPS controlling images. Both work systems have been IPLed recently (December 30 and 31).
We have the need to take spool volume SPL902 offline and have drained it. We're purging output elder than 21 days by issuing $POJQ,ALL,DAYS>21 on a daily basis. Today, I wondering that the spool volume still was quite full despite the fact that I can see only few smaller outputs in the hold and output queues (SDSF). the I found more than 1000 jobs are still in the PURGE queue, awaiting purge. JES2 does not seem to be purging and I cannot find out why. When I try to purge jobs on the purge queue, some are actually purge some not. I cannot find out why some jobs stay on the queue.
I could go on purging the jobs manually, but I would rather like to understand why purging is stuck. I'd appreciate any hint what to lock at or what to try. Below is the output of some commands (display and purge) I issued with some comments inbetween.
--
Peter Hunkeler
Status of the spool volumes as shown by $DSPL,LONG
$HASP893 VOLUME(SPL901)
$HASP893 VOLUME(SPL901) STATUS=ACTIVE,DSNAME=SYS1.HASPACE,
$HASP893 SYSAFF=(ANY),TGNUM=327275,
$HASP893 TGINUSE=18901,TRKPERTGB=3,PERCENT=5,
$HASP893 RESERVED=NO,MAPTARGET=NO
$HASP893 VOLUME(SPL902)
$HASP893 VOLUME(SPL902) STATUS=DRAINING,AWAITING(JOBS),
$HASP893 DSNAME=SYS1.HASPACE,SYSAFF=(ANY),
$HASP893 TGNUM=349335,TGINUSE=65497,TRKPERTGB=3,
$HASP893 PERCENT=18,RESERVED=NO,MAPTARGET=NO
$HASP646 5.7752 PERCENT SPOOL UTILIZATION
The status of the PURGE PCEs is as follows:
$DPCE(PURGE),LONG,DET
$HASP653 PCE(PURGE)
$HASP653 PCE(PURGE) NAME=PURGE,WAIT=PURGE,INHIBIT=NO,
$HASP653 MOD=HASPTRAK,SEQ=17246200,
$HASP653 TIME=(2015.006,13:24:06.264660),
$HASP653 ACTIVE=0,I/O=0,
$HASP653 NAME=PURGE,WAIT=PURGE,INHIBIT=NO,
$HASP653 MOD=HASPTRAK,SEQ=17246200,
$HASP653 TIME=(2015.006,13:24:06.264700),
$HASP653 ACTIVE=0,I/O=0
It seems the PCEs are waiting for work, but none is assigned even though the purge queue over 1000 jobs long.
Here is the result of a $D command for two jobs on the purge queue. Some jobs show the additonal information PURGE=YES,CANCEL=YES, some not (What does this tell me?)
$DS(489149)
$HASP890 JOB(BMCDBC)
$HASP890 JOB(BMCDBC) STATUS=(AWAITING PURGE),CLASS=STC,
$HASP890 PRIORITY=1,SYSAFF=(IND,ANY),HOLD=(NONE)
$DS(496983)
$HASP890 JOB(C2PACMON)
$HASP890 JOB(C2PACMON) STATUS=(AWAITING PURGE),CLASS=STC,
$HASP890 PRIORITY=1,SYSAFF=(IND,ANY),
$HASP890 HOLD=(NONE),PURGE=YES,CANCEL=YES
A $DS...,LONG does not show anything surprising:
$DS(496983),LONG
$HASP890 JOB(C2PACMON)
$HASP890 JOB(C2PACMON) STATUS=(AWAITING PURGE),CLASS=STC,
$HASP890 PRIORITY=1,SYSAFF=(IND,ANY),
$HASP890 HOLD=(NONE),PURGE=YES,CANCEL=YES,
$HASP890 CMDAUTH=(LOCAL),OFFS=(),SECLABEL=,
$HASP890 USERID=C2PSUSER,SPOOL=(VOLUMES=(SPL901,
$HASP890 2),TGS=2,PERCENT=0.0002),ARM_ELEMENT=NO,
$HASP890 CARDS=2,REBUILD=NO,CC=(COMPLETED,RC=0),
$HASP890 DELAY=(),CRTIME=(2014.342,12:21:43)
$DS(493612),LONG
$HASP890 JOB(BMCDBC)
$HASP890 JOB(BMCDBC) STATUS=(AWAITING PURGE),CLASS=STC,
$HASP890 PRIORITY=1,SYSAFF=(IND,ANY),HOLD=(NONE),
$HASP890 CMDAUTH=(LOCAL),OFFS=(),SECLABEL=,
$HASP890 USERID=TECBMC01,SPOOL=(VOLUMES=(SPL902),
$HASP890 TGS=5,PERCENT=0.0007),ARM_ELEMENT=NO,
$HASP890 CARDS=2,REBUILD=NO,CC=(COMPLETED,RC=0),
$HASP890 DELAY=(),CRTIME=(2014.337,11:32:39)