Skip to content
This repository was archived by the owner on Feb 3, 2025. It is now read-only.

Introduce alternative backend for hashtree #2

Closed
wants to merge 5 commits into from

Conversation

martinsumner
Copy link

This extracts out the backend (i.e. storage and snapshot) elements of the hashtree implementation into a dedicated module, to make it easier to provide alternative implementations - specifically one which uses leveled not eleveldb.

to make this work effectively an extension of the API is required, whenever a group of hashtrees which potentially share a hashtree store are closed, they should be closed used hashtree:close_group/1 not looping around the trees calling hashtree:close/2. This is the leveled backend can be closed more efficiently if snapshots are closed prior to the closing the store they are taken from.

https://github.com/nhs-riak/riak_core/issues/1

Initial refactor of hashtree to separate out the function of the eleveldb backend, to prepare for the setup and testing of alternate backends.
Initial draft attempt to replicate eleveldb backend functionality in leveled.  Requires resolution to martinsumner/leveled#413
Allow for close to be performed in an order that avoids delays
and remove logging added for testing
@martinsumner
Copy link
Author

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant