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

revert back to master iavl #8

Merged
merged 9 commits into from
Jul 2, 2019
Merged

revert back to master iavl #8

merged 9 commits into from
Jul 2, 2019

Conversation

mattkanwisher
Copy link

No description provided.

enlight and others added 9 commits February 20, 2019 11:31
This makes it possible to persist leaf node values separately from the
tree nodes themselves. As leaf nodes are loaded their values are read
from the external store, when they're persisted to disk the values are
omitted. The external value store needs to be updated separately when
a key is set or deleted in the MutableTree.
Previously there was a single mutex that had to be acquired by a
reader/writer before they could access either the node cache or the
underlying DB. These changes introduce a second mutex to synchronize
access to the node cache, while the original mutex is now only used to
synchronize write access to the underlying DB.

Multiple readers may now access the underlying DB concurrently, this
should work with GoLevelDB at least since it supports concurrent readers.
The multi-mutex NodeDB is now called NodeDB2, both the new
implementation and the old one implement the new NodeDB interface.
MutableTree & ImmutableTree have been modified to only interact with the
NodeDB interface, so they can be used with either of the two NodeDB
implementations.
Add MutableTree.SaveVersionToDB to extract a single IAVL tree version
@mattkanwisher mattkanwisher merged commit 1777b56 into master Jul 2, 2019
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.

3 participants