DPM Pool Space Type

From GridPP Wiki
Jump to: navigation, search

One of the considerations for SRM storage is the SRM file types: volatile, durable and permanent.

For LCG storage types volatile and permanent are required. Any DPM pool can have it's storage type set via the dpm-modifypool --s-type <SPACE-TYPE> command. This can be set to V, D or P.

However, as many clients and transfers don't yet properly understand this there is an interesting effect with vanilla globus-url-copy and srmcp commands:

  • globus-url-copy will only succeed if the storage type is volatile.
  • srmcp will only succeed if the storage type is permanent.

But, DPM appears to get around this by having an _undefined_ storage type -. If the storage type is set to this value (or not set at all?) both globus-url-copy and srmcp succeed. That is

# dpm-modifypool --poolname <POOL> --s_type -

YAIM gives this as the pool type after setup.

It's not clear what the interaction of space type and the garbage collector is. Does the garbage collector ignore space type? Does it check that space type is volatile? Something to investigate.

N.B. When globus-url-copy fails because of this the error message from DPM is the extremely unhelpful and innaccurate: 553 <PATH>: No space left on device. Similarly srmcp produces the cryptic error rs.state = Failed rs.error = File exists. When either of these things happen DPM leaves DPM Ghost Files.