Data is read from tape most commonly via a command named jget. The requirements for using this tool
are:
- a valid scientific computing
certificate as described in "Getting
Started",
- access to /site/bin/jget on a
supported machine.
Files may also be read from
tape via other special-purpose tools documented elsewhere.
Regardless of the the way that read requests are generated, the
ultimate process that jasmine uses to service those requests is as
follows:
- For each source file in the
stub filesystem, the request will fail if any of the following
conditions pertain:
For each destination file, the request will fail if any of the following conditions pertain:
- destination file already exists,
- another request already
exists to write the same destination (either same location on network filesystem, or same local path on same host machine),
- the user does not have
permission to write the destination file.
Once a request has been
created successfully, it will be assigned a unique identifier.
Each job in the request will also be given its own unique identifier
and assigned an initial state of Pending.
The meaning of job states for read requests is as
follows:
- Pending - the
job is waiting to be
processed
- Staging - the tape is being prepared for reading the file
- Staged - the tape is ready to read the file
- Running -
the file is being read from tape and written to its destination
- Done - the file was
successfully read from tape and written to its destination
- Cancelled - the job was
cancelled
- Failed - an error
prevented the file from going from tape to its detination
When the jasmine scheduler
determines it's time to start processing a file, a data mover service
will either contact the client via socket to stream the file over the
network or, if possible, copy the file directly from tape to its destination on a network filesystem.
If a
non-fatal error occurs at any point in the processing of a file, its
state will automatically be reset for a future retry. The jget client will display each job's state as it is
updated.