diff --git a/nano/store/lmdb/lmdb.cpp b/nano/store/lmdb/lmdb.cpp index 7e676db0..46b7ab9c 100644 --- a/nano/store/lmdb/lmdb.cpp +++ b/nano/store/lmdb/lmdb.cpp @@ -257,6 +257,9 @@ void nano::store::lmdb::component::upgrade_v22_to_v23 (store::write_transaction logger.info (nano::log::type::lmdb, "Upgrading database from v22 to v23..."); drop (transaction, tables::rep_weights); + transaction.refresh (); + + release_assert (rep_weight.begin (tx_begin_read ()) == rep_weight.end (), "rep weights table must be empty before upgrading to v23"); const size_t batch_size = 1000 * 10; diff --git a/nano/store/rocksdb/rocksdb.cpp b/nano/store/rocksdb/rocksdb.cpp index ffda5bb7..148736d2 100644 --- a/nano/store/rocksdb/rocksdb.cpp +++ b/nano/store/rocksdb/rocksdb.cpp @@ -293,6 +293,7 @@ void nano::store::rocksdb::component::upgrade_v22_to_v23 (store::write_transacti { logger.info (nano::log::type::rocksdb, "Dropping existing rep_weights table"); drop (transaction, tables::rep_weights); + transaction.refresh (); } { @@ -301,8 +302,11 @@ void nano::store::rocksdb::component::upgrade_v22_to_v23 (store::write_transacti ::rocksdb::ColumnFamilyHandle * new_cf_handle; ::rocksdb::Status status = db->CreateColumnFamily (new_cf_options, "rep_weights", &new_cf_handle); handles.emplace_back (new_cf_handle); + transaction.refresh (); } + release_assert (rep_weight.begin (tx_begin_read ()) == rep_weight.end (), "rep weights table must be empty before upgrading to v23"); + const size_t batch_size = 1000 * 10; nano::account next = 0;