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

sstable: include blocks other than point key blocks in iterator stats #2446

Open
nicktrav opened this issue Apr 12, 2023 · 3 comments
Open
Labels
A-storage O-support P-3 Issues/test failures with no fix SLA T-storage

Comments

@nicktrav
Copy link
Contributor

nicktrav commented Apr 12, 2023

The base.InternalIteratorStats struct maintains stats on the bytes read from SSTable blocks while iterating, including whether the block was found in the block cache or not.

Currently, these stats only take point key data blocks into account. SSTables contains other types of blocks that must be loaded during iteration. For example, range del or range key blocks. If a range del block is large, and uncached, the current results can be misleading (see cockroachlabs/support#2203 for an example).

Take these other blocks into account in the iterator statistics.

Jira issue: PEBBLE-197

@arthurgavazza
Copy link

hey @nicktrav I wanna start contributing to pebble and I'm looking for simple issues to work on, do you think this one is accessible? If I pick this up can you give me a few tips on where to start?

@sumeerbhola
Copy link
Collaborator

We also have BlockReadDuration that suffers from the same issue.

And, in addition to the blocks read by the iterator, there are the blocks read when the Reader is created (in case it was created due to an iterator), including the footer, properties, metaindex. Ideally, these should also be in these stats, though if tracing is enabled we may be able to manage without once #3728 is fixed.

@nicktrav nicktrav added the P-3 Issues/test failures with no fix SLA label Jul 31, 2024
@jbowens
Copy link
Collaborator

jbowens commented Jan 2, 2025

I'm anticipating that Edward will pick this up as a starter project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-storage O-support P-3 Issues/test failures with no fix SLA T-storage
Projects
No open projects
Status: Observability
Development

No branches or pull requests

4 participants