Spool File Recovery At System Startup [ Native Mode Spooler Reference Manual ] MPE/iX 5.5 Documentation
Native Mode Spooler Reference Manual
Spool File Recovery At System Startup
The input SPool File DIRectory (SPFDIR) and the output SPFDIR, which are
created by Progen near the end of the system startup (boot) process, are
filled with information from spool files in IN.HPSPOOL and OUT.HPSPOOL.
This provides a run-time "cache" for spool file management. The time
necessary to create and fill these directories depends on the number of
files in each HPSPOOL group and how the output spool files are
distributed among various device queues (LP, CIPER, PP, and so on).
Recovery will take the longest time when there are many output spool
files in a single queue, for example, LP.
Input spool files usually consist entirely of job $STDIN files. The only
other input spool file is the :DATA file, rarely used anymore. The
number of input spool files is typically so small that the time spent
recovering them to the input SPFDIR is not significant.
Recovery process improvements
There have been two improvements to the recovery process which greatly
reduces the amount of time necessary to recover spool files:
* The boot process spends a small amount of time to assemble the
list of spool files in OUT.HPSPOOL. In a test requiring the
recovery of 9000 spool files, this time period was two minutes.
* All spool file recovery now takes place in a separate system
process which continues until all output spool files have been
recovered into the output SPFDIR (or discarded, if they cannot or
should not be recovered), and then terminates. The boot process
completes in parallel with the SPFDIR recovery process, and the
system then becomes available to users.
Although spool file recovery at is a system process, it is created in the
CS queue, which means that it competes with user processes once the
system is available. However, as a system process, its priority does not
decay, nor is it subject to being time-sliced. If the recovery process
does not block itself periodically, user processes are starved. If it
blocks itself too often, spool file recovery time is prolonged. To deal
with this, the recovery process now pauses one second for every 200
SPFDIR entries it recovers. This forces the Dispatcher to allow some
time for user processes to run, thus improving response. The tradeoff is
that the recovery process takes longer to complete.
NOTE Progen creates a file in the permanent domain, HPDISU00.PUB.SYS,
for use by the recovery process. The recovery process purges this
file before it terminates. If HPDISU00.PUB.SYS exists at system
startup, Progen purges it to create the new one needed by the
recovery process. Do not create a permanent file with this name.
Spooler behavior during recovery
There may be a period after the system is available to users when some
spool files in OUT.HPSPOOL do not have an entry in the output SPFDIR.
While some features of the spooling subsystem (described below) are
affected during SPFDIR recovery, existing capability, resource limits,
and security restrictions have not changed.
While the SPFDIR recovery process is running:
* Users can stream jobs without restrictions.
* Jobs can log on (that is, $STDLISTs can be created) without
restrictions.
* Spooler processes can open, print, and delete spool files where an
SPFDIR entry exists. Spool files in OUT.HPSPOOL whose SPFDIR
entry have not yet been recovered cannot be selected for printing.
* All output spool file management commands (ALTSPOOLFILE,
DELETESPOOLFILE, LISTSPF, SHOWOUT, and SPOOLF) are available, with
the restrictions described under "Issuing spool file management
commands," below.
* The SPOOLF...; PRINT command is not affected by the SPFDIR
recovery process.
Once the recovery process has terminated, all existing features of the
spooling subsystem are fully available.
Waking an idle spooler process
Recovery of an SPFDIR entry by the recovery process does not wake an idle
spooler process even if the entry's priority is above the outfence. To
deal with this situation, you may wait until a user creates a new spool
file destined for the device managed by the idle spooler. When that
spool file enters the READY state, the spooler is notified. It then
prints all available files above the outfence. Or, you may wake the idle
spooler process by issuing a command such as SPOOLER 6; SUSPEND followed
by SPOOLER 6; RESUME. (To use this command, you must be at the system
console or have been ALLOWed the SPOOLER command, or have associated
a class that includes LDEV 6.) Or, any user with access to a
newly-recovered spool file can wake the spooler process for the device
with SPOOLF command if the spool file's priority exceeds the system (or
device) outfence.
Issuing spool file management commands
If you issue one of the spool file management commands for a a single
spoolid whose SPFDIR entry is not yet recovered, it is treated the same
as a non-existent spool file and you will see the following message:
Spoolfile "!" either does not exist on the system, or you have
insufficient capabilities to access it. (CIWARN 4563)
Note that a LISTF of this <Onnnn>.OUT.HPSPOOL displays the filename. The
spool file does exist; only its SPFDIR entry does not, as yet.
If you issue one of the spool file management commands for a list of
specific spoolids (for example, LISTSPF #O8072 or LISTSPF (#O8072,
#O7963, #O8010) it searches for each individual spool file in the list.
If it cannot find an SPFDIR entry for the file, it returns error -8039
(Cannot find the spool file).
If you issue one of the spool file management commands for a wildcarded
fileset (such as LISTSPF O@, or SHOWOUT SP;JOB=@), you will see
information for only those SPFDIR entries that exist at the time the
command is entered.
The SPOOLF O@; ALTER and SPOOLF O@; DELETE forms of the SPOOLF command
are disallowed, and the following new message is displayed to any user
attempting either of these commands:
'SPOOLF ;ALTER' or 'SPOOLF ;DELETE' of a wildcarded fileset is
disabled until the output spoolfile directory has been rebuilt
following a system startup. (CIWARN 4652)
When recovery is complete
When the output SPFDIR is fully recovered, the following message is
displayed on the system console:
The system has finished rebuilding the
output spoolfile directory.
There is no change for OpenView console users. The above forms of the
SPOOLF command are then re-enabled.
MPE/iX 5.5 Documentation