-
Notifications
You must be signed in to change notification settings - Fork 787
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add LMDB and RocksDB upgrades to v22: Remove unchecked table #4131
Add LMDB and RocksDB upgrades to v22: Remove unchecked table #4131
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For binary compatibility the respective unchecked table handle should be removed as well. This will require some clean up work in the the unchecked_map.?pp and secure/store.?pp files, because they are currently relying on this table to exist even not using it.
Suggest sending another PR for the clean up work before resuming with this.
1a216cb
to
7549ef9
Compare
ecd1f03
to
865c79f
Compare
In pull request nanocurrency#4021 the binary representation of `unchecked_info` was changed. We have to clear the unchecked table, because the new binary format is not compatible with the old one. This commit only clears the unchecked table for the LMDB implementation. The RocksDB implementation doesn't have an upgrade mechanism yet. - Delete the unchecked DB from the LMDB environment - Simplify the unchecked handle
b9fae83
to
c7d77ed
Compare
generate_tombstone_map (); | ||
small_table_factory.reset (::rocksdb::NewBlockBasedTableFactory (get_small_table_options ())); | ||
|
||
// TODO: get_db_options () registers a listener for resetting tombstones, needs to check if it is a problem calling it more than once. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good thing to be reviewed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Encapsulating this to only be called once looks correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was able to verify the table was dropped and version number increased.
In pull request #4021 the binary representation of
unchecked_info
was changed. We have to clear the unchecked table, because the new binary format is not compatible with the old one.This commit only clears the unchecked table for the LMDB implementation. The RocksDB implementation doesn't have an upgrade mechanism yet.