Skip to content

Fix minor POSIXv2 backend issues#3004

Merged
bbockelm merged 8 commits into
PelicanPlatform:mainfrom
bbockelm:posixv2_fixes
Jan 19, 2026
Merged

Fix minor POSIXv2 backend issues#3004
bbockelm merged 8 commits into
PelicanPlatform:mainfrom
bbockelm:posixv2_fixes

Conversation

@bbockelm

Copy link
Copy Markdown
Collaborator

I added a small switch that allows you to move all federation tests from POSIX to POSIXv2. This revealed some minor implementation errors / inconsistencies between POSIXv1 (XRootD) and POSIXv2.

With this PR, all tests pass with POSIXv2!

Fixes: #3003

@bbockelm bbockelm added bug Something isn't working client Issue affecting the OSDF client origin Issue relating to the origin component director Issue relating to the director component labels Jan 19, 2026
This commit:
- Computes transfer URLs based on the base path provided by the
  redirector.
- Avoids doing a directory listing against a file; there is special
  XRootD code to handle the error but this approach is more generic
  for POSIXv2.
- Clients will add a trailing `/` if they think the remote side will
  be a directory.  Remove these at the filesystem layer as it'll cause
  an unnecessary error if it's actually a file.
- When trying to open a directory for write, the filesystem generates
  an EISDIR which WebDAV translates to a 404.  The correct response,
  however, is 409.  This translates the EISDIR appropriately, based on
  the current WebDAV implementation, to trigger a 409 instead.
POSIXv2 appears much more sensitive to `//` in the URLs
This fixes two small issues:
- Ensure storage.modify implies storage.create
- Generate ACLs relative to the federation root, not relative to
  what is provided by the issuer

Both fix real failures found in testing.
Additionally, it will successfully print out client logs on failure.
The code now assumes the transfer attempt URLs have the correct full
URL, including path.  This was true for the director-provided URLs
but NOT for overrides via preferred caches.
@bbockelm bbockelm added the create-patch Patch this into multiple versions of Pelican label Jan 19, 2026
@bbockelm

Copy link
Copy Markdown
Collaborator Author

@turetske - these minor fixes are worth backporting into the next v7.23 RC.

@bbockelm bbockelm merged commit f13cf62 into PelicanPlatform:main Jan 19, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working client Issue affecting the OSDF client create-patch Patch this into multiple versions of Pelican director Issue relating to the director component origin Issue relating to the origin component

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run all tests against POSIXv2 backend

2 participants