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

objstorage: read ahead is broken #2531

Closed
RaduBerinde opened this issue May 16, 2023 · 3 comments
Closed

objstorage: read ahead is broken #2531

RaduBerinde opened this issue May 16, 2023 · 3 comments

Comments

@RaduBerinde
Copy link
Member

RaduBerinde commented May 16, 2023

The readaheadState in the vfs read handle is not being initialized properly, resulting in no "automatic" read-ahead functionality (read-ahead for compactions still works).

@RaduBerinde RaduBerinde self-assigned this May 16, 2023
RaduBerinde added a commit to RaduBerinde/pebble that referenced this issue May 16, 2023
This change improves the objstorage test to allow reading arbitrary
parts of objects. We add a test that verifies that the read-ahead
implementation does the Prefetch and the reopen that is expected.

We also improve logging FS to log `ReadAt` and `Prefetch` calls.

Informs cockroachdb#2531.
@nicktrav
Copy link
Contributor

@jbowens @sumeerbhola - I recall we had a perf issue ~recently and we suspected readahead. Could this be related?

Or is this only due to recent changes to VFS related to objstorage refactorings, etc.

@RaduBerinde
Copy link
Member Author

Or is this only due to recent changes to VFS related to objstorage refactorings, etc.

The problem exists on crl-release-23.1 too unfortunately.

@jbowens
Copy link
Collaborator

jbowens commented May 16, 2023

If we're talking about the same issue, it was on 22.2 and we ended up suspecting that it was an issue of the OS page cache being trashed instead of loss of readahead.

RaduBerinde added a commit to RaduBerinde/pebble that referenced this issue May 16, 2023
This change improves the objstorage test to allow reading arbitrary
parts of objects. We add a test that verifies that the read-ahead
implementation does the Prefetch and the reopen that is expected.

We also improve logging FS to log `ReadAt` and `Prefetch` calls.

Informs cockroachdb#2531.
RaduBerinde added a commit that referenced this issue May 16, 2023
This change improves the objstorage test to allow reading arbitrary
parts of objects. We add a test that verifies that the read-ahead
implementation does the Prefetch and the reopen that is expected.

We also improve logging FS to log `ReadAt` and `Prefetch` calls.

Informs #2531.
@jbowens jbowens moved this to Done in [Deprecated] Storage Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

3 participants