Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

S3 backend can't PUT files that don't fit in a single buffer from XRootD #39

Closed
jhiemstrawisc opened this issue Aug 15, 2024 · 0 comments · Fixed by #41
Closed

S3 backend can't PUT files that don't fit in a single buffer from XRootD #39

jhiemstrawisc opened this issue Aug 15, 2024 · 0 comments · Fixed by #41
Assignees
Labels
bug Something isn't working enhancement New feature or request

Comments

@jhiemstrawisc
Copy link
Member

We recently found that the S3 backend can't PUT objects that don't fit into a single buffer handed to cURL by XRootD. When we test this using raw curl to PUT through the plugin, these buffers show up as ~1MiB. When we use Pelican, they're even smaller (and more sporadically sized).

Unfortunately, the S3 protocol doesn't give us a nice solution for this, and it looks more and more that a fix will impose some limitations on the size of objects the S3 plugin can handle writing. In particular, these limitations are described in the AWS docs for the S3 "multipart upload flow", and they relate to the fact each object can be transferred in at most 10,000 chunks. Without knowing the size of an ahead of time, we have to impose a size limit on these chunk buffers, and thus a limit on the total size of the object.

Our observation of transfers in the OSDF indicates a very thin tail for object reads over 50GB, so we're thinking of placing the cap somewhere around there. This isn't a perfect proxy for the distribution of written objects, but it's a starting point.

@jhiemstrawisc jhiemstrawisc added bug Something isn't working enhancement New feature or request labels Aug 15, 2024
@bbockelm bbockelm linked a pull request Oct 31, 2024 that will close this issue
@rw2 rw2 closed this as completed Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants