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

limit memory consumption of scan interface #7821

Open
skyzh opened this issue May 21, 2024 · 0 comments
Open

limit memory consumption of scan interface #7821

skyzh opened this issue May 21, 2024 · 0 comments
Labels
c/storage/pageserver Component: storage: pageserver

Comments

@skyzh
Copy link
Member

skyzh commented May 21, 2024

Currently we use the same code path as vectored get, which limits on the number of keys we get, but we removed that limit for the scan interface.

There could be multiple possible implementations:

  • Gather statistics for the metadata keyspace and split it into several scans.
    • Might be easy to implement, still reuse the vectored get code path
    • Statistics could be inaccurate
  • Implement k-merge based iterators
    • Need a new implementation for scans
    • Guaranteed memory consumption: delta buffer size per file * num of files involved in the scan
@skyzh skyzh added the c/storage/pageserver Component: storage: pageserver label May 21, 2024
@skyzh skyzh mentioned this issue May 21, 2024
24 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c/storage/pageserver Component: storage: pageserver
Projects
None yet
Development

No branches or pull requests

1 participant