Skip to content

[WIP] internal/manifest: add Version.L0Sublevels#546

Closed
petermattis wants to merge 1 commit intomasterfrom
pmattis/l0-sublevels
Closed

[WIP] internal/manifest: add Version.L0Sublevels#546
petermattis wants to merge 1 commit intomasterfrom
pmattis/l0-sublevels

Conversation

@petermattis
Copy link
Copy Markdown
Collaborator

This is a work in progress. Usage of L0 sublevels needs to be plumbed into
DB.Get and DB.NewIter. We need to plumb knowledge of L0 sublevels into
compaction. We need to expose existence of L0 sublevels in Metrics.

@petermattis
Copy link
Copy Markdown
Collaborator Author

This change is Reviewable

Copy link
Copy Markdown
Collaborator Author

@petermattis petermattis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@petermattis petermattis force-pushed the pmattis/l0-sublevels branch 2 times, most recently from 939059c to 4dff2a7 Compare February 19, 2020 15:25
Copy link
Copy Markdown
Collaborator Author

@petermattis petermattis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

This is a work in progress. We need to plumb knowledge of L0 sublevels
into compaction.
@petermattis petermattis force-pushed the pmattis/l0-sublevels branch from e5e7fa3 to 9822cfc Compare March 3, 2020 17:48
Copy link
Copy Markdown
Collaborator

@sumeerbhola sumeerbhola left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

@petermattis
Copy link
Copy Markdown
Collaborator Author

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.

Ack. Thanks for the heads up. I'm not planning to do anything further here in the next week or so.

@petermattis petermattis deleted the pmattis/l0-sublevels branch April 22, 2020 17:11
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.

2 participants