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

Adds an Unchecked Map - wrapper for the unchecked table outside the store class #3553

Merged
merged 1 commit into from
Feb 3, 2022

Conversation

thsfs
Copy link
Contributor

@thsfs thsfs commented Nov 19, 2021

This PR creates a wrapper for the unchecked table, so it starts getting decoupled from the store logic, since this table is not part of the ledger. This will facilitate further refactoring like supporting more than type of DB instantiated.

It also simplifies the LMDB and RocksDB related implementation by removing source code from our side.

@thsfs thsfs added this to the V24.0 milestone Nov 19, 2021
@thsfs thsfs force-pushed the unchecked_map branch 3 times, most recently from 0221ec3 to e8a5292 Compare November 23, 2021 19:36
@thsfs thsfs self-assigned this Nov 24, 2021
@thsfs thsfs force-pushed the unchecked_map branch 3 times, most recently from ad524a8 to 442acfa Compare December 2, 2021 14:01
@clemahieu clemahieu marked this pull request as ready for review December 14, 2021 12:24
@thsfs

This comment has been minimized.

…d table. Rather than directly making modifications to the unchecked table, this ADT abstracts away the details of where this information is stored. nano::unchecked_map will queue write/trigger operations for processing in a background thread. This means nano::unchecked_map::put no longer requires a database transaction to call. This also changes the semantics of the unchecked put operations as they're no longer blocking, fix up many tests that made this assumption.
@clemahieu clemahieu merged commit 8b42872 into develop Feb 3, 2022
@clemahieu clemahieu deleted the unchecked_map branch February 3, 2022 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants