mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2026-04-25 13:26:00 +03:00
[GH-ISSUE #1541] readdir parallel GET and HEAD #810
Labels
No labels
bug
bug
dataloss
duplicate
enhancement
feature request
help wanted
invalid
need info
performance
pull-request
question
question
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/s3fs-fuse#810
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @gaul on GitHub (Jan 31, 2021).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1541
s3fs_readdircallslist_bucketwhich serially issuesListBucket, once per every 1,000 objects. After completion it callsreaddir_multi_headwhich callsHeadObjectin parallel, one request per object. Instead s3fs could overlap the calls toListBucketRequestandPreHeadRequestto improve performance for large directories.Also I wonder if there is an opportunity to call
fillerwhile requests are still completing to allow the application to make some progress. This might require a different locking mechanism.@ggtakec commented on GitHub (Feb 12, 2021):
@gaul I posted a PR for this issue.
However, there seems to be no major performance change.
Other than this change, there may be another improvement, so if the PR is merged, I will try to deal with it.
@ggtakec commented on GitHub (Feb 13, 2021):
@gaul I also added PR for #1569.
This PR sets EPERM instead of EIO for 400 HTTP errors, and also registers EPERM objects in the Stats cache.
This will prevent you from sending an error HEAD request every time, which can be expected to improve performance.