-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Seek all levels of LSM tree for move keyspace (#580)
In Badger move keyspace, an older version of the key can be written to the LSM tree after a newer version of the key. After some compactions, this can mean that a higher level in the tree can have an older version, while a lower level can have a newer version. To fix this, we must seek through all the levels to find the right version -- we only need to do this for the move keyspace. Note that we used to do this exact logic on the entire keyspace before. Move keyspace was introduced to avoid that need to seek through all levels. Move keyspace is still a great thing because we only need to seek all levels for move keys -- seeks for normal keyspace can be stopped once any version of the key is found. Fixes #578 .
- Loading branch information
1 parent
a1528d1
commit af99e5f
Showing
3 changed files
with
113 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters