Skip to content

Feature request webDAV: support multilevel directory creation via MKCOL method #7945

@airnandez

Description

@airnandez

According to RFC 4918, an implementation of the MKCOL method must not automatically create a directory hierarchy:

if a request to create collection /a/b/c/d/ is made, and /a/b/c/ does not exist, the request must fail.

Although dCache's implementation of MKCOL is compliant to the RFC, from the client perspective it would be advantageous to send a single MKCOL request to the server for creating a directory hierarchy. We noticed that the Rubin image processing pipelines create deep hierarchies and, as a result, can induce significant load on the dCache webDAV door.

I wonder if you would consider extending dCache to support this behavior as other implementations of webDAV already do. If necessary, the client could include some dCache-specific header to let the door know that it is requesting a behavior not part of the official protocol.

Note that dCache implementation of webDAV PUT automatically creates all the ancestor directories when serving the request, even if this is not compliant to RFC 4918 PUT which says:

A PUT that would result in the creation of a resource without an appropriately scoped parent collection must fail with a 409 (Conflict).

This feature is very useful and I am not asking any modification about that. I only mention this to illustrate a very useful extension to the official RFC already supported by dCache as well as other implementations.

cc: @ageorget

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions