Skip to content

xrootd: add implementation of ping and prepare calls - #8234

Open
DmitryLitvintsev wants to merge 3 commits into
11.2from
xrootd/11.2
Open

DmitryLitvintsev wants to merge 3 commits into
11.2from
xrootd/11.2

Conversation

@DmitryLitvintsev

Copy link
Copy Markdown
Member

Motivation:

dCache XRootD never implemented the prepare and ping XRootD protocol
calls. In the beginning the prepare call returned an OK w/o doing anything
and recently was implemented to fail with "unsupported".
Meanwhile some customers (like the ALICE experiment) have to
rely on this function to actually stage files.

Modification:

Implemented the prepare function. Regular CUSTODIAL files are
staged and pinned via a new pin manager stub, using a configurable
pin lifetime (xrootd.pin.lifetime[.unit], default 12 hours).
REPLICA and OUTPUT files, as well as non-regular files (directories,
links), are ignored for efficiency. Evict/cancel requests release
the pin via the same stub. Conflicting option combinations (e.g.
stage together with evict/cancel) are rejected with an error.

New configuration properties were added to configure the pin
manager cell stub (xrootd.service.pinmanager[.timeout[.unit]])
and the pin lifetime. The xrootd4j library dependency was bumped
to 4.6.3 to pick up the required Prepare protocol message support.

Using classes PingRequest and PingResponse added
to xrootd4j implemented handing of ping request in
XrootdDoor

Result:

Implemented ability to stage and release files via xrootd prepare
call. Implemented XRootD ping call

Target: trunk
Request: 12.x, 11.2
Issue: #8121
Issue: #8122
Require-book: no
Require-notes: yes
Patch: https://rb.dcache.org/r/14770/
Patch: https://rb.dcache.org/r/14778/
Acked-by: Tigran

Motivation:
-----------
dCache XRootD never implemented the prepare XRootD protocol
call. In the beginning it returned an OK w/o doing anything
and recently was implemented to fail with "unsupported".
Meanwhile some customers (like the ALICE experiment) have to
rely on this function to actually stage files.

Modification:
------------
Implemented the prepare function. Regular CUSTODIAL files are
staged and pinned via a new pin manager stub, using a configurable
pin lifetime (xrootd.pin.lifetime[.unit], default 12 hours).
REPLICA and OUTPUT files, as well as non-regular files (directories,
links), are ignored for efficiency. Evict/cancel requests release
the pin via the same stub. Conflicting option combinations (e.g.
stage together with evict/cancel) are rejected with an error.

New configuration properties were added to configure the pin
manager cell stub (xrootd.service.pinmanager[.timeout[.unit]])
and the pin lifetime. The xrootd4j library dependency was bumped
to 4.6.3 to pick up the required Prepare protocol message support.

Result:
------
Implemented ability to stage and release files via xrootd prepare
call.

Target: trunk
Request: 12.x
Issue: #8121
Require-book: no
Require-notes: yes
Patch: https://rb.dcache.org/r/14770/
Acked-by: Tigran
Motivation:
----------
xrootd4j was lacking implementation of ping XRootD
protocol call described in
https://xrootd.web.cern.ch/doc/dev6/XRdv520.html#_Toc173272921
We have a request to implement ping:
#8122

Modification:
-------------
Using classes PingRequest and PingResponse added
to xrootd4j implemented handing of ping request in
XrootdDoor

Result:
-------
Implemented XRootD ping call

Ticket: #8122
Patch: https://rb.dcache.org/r/14778/
Acked-by: Tigran Mkrtchyan
Target: trunk
Request: 12.x, 11.2
 Require-book: no
 Require-notes: yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant