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

Buffered Reads #60

Merged
merged 6 commits into from
Dec 14, 2024
Merged

Buffered Reads #60

merged 6 commits into from
Dec 14, 2024

Conversation

bbockelm
Copy link
Collaborator

This PR introduces buffered reads -- reads go through a new cache layer, including prefetch.

This is built on top of the streaming reads patch and should be merged after that one.

@bbockelm bbockelm force-pushed the buffered_reads_v1 branch 4 times, most recently from aa4feee to ef3558a Compare November 25, 2024 03:07
@bbockelm
Copy link
Collaborator Author

@jhiemstrawisc - while the CERN xrootd repositories are down right now (causing an old version of xrootd to be pulled and the tests to fail) which will cause the unit tests to fail, I think this is ready to review!

This keeps a 2-entry cache inside the S3File object.  These cache entries
round up small reads and allow prefetching in the case of linear reads.

The goal is to establish pipelining when doing linear reads, allowing
data to be read to the S3File cache entry before it is requested.
- Missing imports that weren't necessary on Mac OS X.
- Signed comparision issues.
- Content-length was wrong type -- should really be off_t.
@bbockelm
Copy link
Collaborator Author

Going to self-merge this one -- it's got reasonable tests and I'd like to move the work forward.

@bbockelm bbockelm merged commit 21b3e77 into PelicanPlatform:main Dec 14, 2024
3 checks passed
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