Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

RocksDB abstraction layer + Hash index for state DB #464

Merged
merged 21 commits into from Feb 26, 2016
Merged

RocksDB abstraction layer + Hash index for state DB #464

merged 21 commits into from Feb 26, 2016

Conversation

arkpar
Copy link
Collaborator

@arkpar arkpar commented Feb 18, 2016

Also fixes #53
This PR is a first part of changes required to support querying state data by partial key for PV63 sync.
Note that DB version is increased again, so I'd prefer this to be merged before 1.0 release. No further changes to DB format would be required as far as I can tell.
RocksDB abstraction layer is introduced to help with managing settings across databases and ease transition to custom/other kv-database in the future.
State database is setup to use hash index type, which should give a performance boost.
Also switch to a forked rocksdb wrapper package which supports the API required for changing index type and queries by key prefix. The package also builds rocksdb from source now and statically links it.

@arkpar arkpar changed the title RocksDB wrapper; Use hash index for state DB RocksDB abstraction layer + Hash index for state DB Feb 18, 2016
@arkpar arkpar added the A0-pleasereview 🤓 Pull request needs code review. label Feb 18, 2016
@arkpar arkpar added A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. and removed A0-pleasereview 🤓 Pull request needs code review. labels Feb 19, 2016
@arkpar arkpar closed this Feb 19, 2016
@arkpar arkpar reopened this Feb 19, 2016
@arkpar arkpar closed this Feb 19, 2016
@arkpar arkpar reopened this Feb 19, 2016
@arkpar arkpar closed this Feb 19, 2016
@arkpar arkpar reopened this Feb 19, 2016
@arkpar arkpar added A0-pleasereview 🤓 Pull request needs code review. and removed A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. labels Feb 19, 2016
@arkpar arkpar closed this Feb 19, 2016
@arkpar arkpar reopened this Feb 19, 2016
@NikVolf
Copy link
Contributor

NikVolf commented Feb 20, 2016

lgtm
especially good that it also might allow us to remove sudo apt-get install part from build script and move to travis container infrastructure with cached dependencies

https://docs.travis-ci.com/user/workers/container-based-infrastructure/

@NikVolf NikVolf added A8-looksgood 🦄 Pull request is reviewed well. and removed A0-pleasereview 🤓 Pull request needs code review. labels Feb 21, 2016
}

/// Insert a key-value pair in the transaction. Any existing value value will be overwritten upon write.
pub fn put(&self, key: &[u8], value: &[u8]) -> Result<(), String> {
Copy link
Contributor

Choose a reason for hiding this comment

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

bad indentation (spaces used). might be elsewhere in the file, too.

@gavofyork gavofyork added A5-grumble 🔥 Pull request has minor issues that must be addressed before merging. and removed A8-looksgood 🦄 Pull request is reviewed well. labels Feb 21, 2016
@arkpar arkpar added A0-pleasereview 🤓 Pull request needs code review. and removed A5-grumble 🔥 Pull request has minor issues that must be addressed before merging. labels Feb 21, 2016
@gavofyork gavofyork added A8-looksgood 🦄 Pull request is reviewed well. and removed A0-pleasereview 🤓 Pull request needs code review. labels Feb 21, 2016
gavofyork pushed a commit that referenced this pull request Feb 26, 2016
RocksDB abstraction layer + Hash index for state DB
@gavofyork gavofyork merged commit 6e5ae63 into master Feb 26, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A8-looksgood 🦄 Pull request is reviewed well.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Static linkage for RocksDB
3 participants