Print

Print


Hi Gregory,

The answers are based on the assumption that you will be using the
libXrdOfs.so filesystem implementation.

> 1. When a request is made for a file that has to be staged from an HSM
> server, we would like to get back either:
> a) an estimate of how long it will be before the file is ready for
> reading, or
The wait message that comes back when you open a file that has to be staged
should have the estimated time (including the fact that the file is being
staged). However, I found that the time is notriously unreliable because
small delays in file staging can produce erractic global effects, One of
those "butterfly in the canyon" type of things.

> b) a least a bit indicating that this request will wait for staging.
> Is this possible without "major" changes?  The "prepare" request looks
> like it has space for an arbitrary response, but it isn't clear to me
> from the protocol description how arbitrary it really is. It may be
> that open needs to send back an indicator as well, but that may be
> harder.
Prepare is not conducive to time estimates because the estimates canot be
dertermined. A request may be scattered across multiple servers and at that
point it's impossible to calculate what will happen. Anyway, prepare is a
best-effort scheme. If prepare doesn't work or is tossed (which it can be),
the actual open will cause the file to fault in.

> 2. Is there a way to pin a file once it has been staged to a disk
> server, so that it is not a candidate for removal from the server? If
> so, is this done on a per-file basis, and/or a per-directory basis?
In the mps reference (assuming your will be using mps), describes how to use
"pin files" to "pin" a file in the disk cache for various reasons (e.g.,
don't unpin until after first use, pin until a certain date, or pin for so
much time).

> 3. Is there anyway a file can be dropped from a disk server while a
> client has it "open"?  If so, will subsequent access attempts result in
> a new redirect or recache attempt?
You can always erase a file. If the file is open,  current users will
continue to use the file while new users will have the file staged
(elsewhere or perhaps even the same machine). In general, if a file is lost
while it is being used, the system will attempt to either find another copy
or restage it if none can be found.

> 4. Does xrootd automatically replicate a file to an additional server
> if demand for that file gets too high for a single server to sustain?
> All that I've read suggests that it does, but I'm having a little
> trouble tracking down the code that does the work.
Yes. There is no explicit code. It's just the way it works. Once a server
becomes overloaded (assuming you've defined what it means for a server to be
overloaded), the redirector will redirect clients to a less loaded server
causing a file replication (that assumes the file is stageable).

Andy