[WIP] internal/manifest: add Version.L0Sublevels#546
[WIP] internal/manifest: add Version.L0Sublevels#546petermattis wants to merge 1 commit intomasterfrom
Conversation
petermattis
left a comment
There was a problem hiding this comment.
Reviewable status: 0 of 28 files reviewed, 1 unresolved discussion (waiting on @itsbilal and @sumeerbhola)
testdata/ingest, line 209 at r2 (raw file):
000011:[k#8,SET-k#8,SET] 0: 000007:[a#2,SET-b#2,DEL]
@sumeerbhola The L0 sublevel stuff shows up in our existing tests even without any explicit partitioning. I'm curious if you have thoughts about the depiction of sublevels. Should the newest L0 sublevel be labeled "2" in this example, or should it be labeled "0"? It is sort of confusing that the sublevel numbering is the inverse of the normal level numbering. Perhaps we should label these as "0-2", "0-1", etc.
939059c to
4dff2a7
Compare
petermattis
left a comment
There was a problem hiding this comment.
I've plumbed usage of L0Sublevels into DB.Get and DB.NewIter. I added LevelMetrics.Sublevels so that we can correctly determine read-amplification in the presence of L0 sublevels. I think after adding more testing this could be good to go as a step towards L0 partitions. I'd want to follow-up with plumbing knowledge of L0 sublevels into compaction picking, but I want to do that separately.
Reviewable status: 0 of 33 files reviewed, 1 unresolved discussion (waiting on @itsbilal and @sumeerbhola)
455ba47 to
0a9aea6
Compare
0a9aea6 to
e5e7fa3
Compare
This is a work in progress. We need to plumb knowledge of L0 sublevels into compaction.
e5e7fa3 to
9822cfc
Compare
sumeerbhola
left a comment
There was a problem hiding this comment.
I've started some WIP code that starts from this commit and adds code for doing compactions. It moves Version.L0Sublevels into its own data-structure.
Reviewable status: 0 of 21 files reviewed, 1 unresolved discussion (waiting on @itsbilal and @sumeerbhola)
Ack. Thanks for the heads up. I'm not planning to do anything further here in the next week or so. |
This is a work in progress. Usage of L0 sublevels needs to be plumbed into
DB.GetandDB.NewIter. We need to plumb knowledge of L0 sublevels intocompaction. We need to expose existence of L0 sublevels in
Metrics.