Remove utxo db upgrade code

This commit is contained in:
MarcoFalke
2022-02-02 13:23:02 +01:00
parent 76d44e832f
commit fa9112aac0
9 changed files with 87 additions and 134 deletions

View File

@@ -98,7 +98,7 @@ test/functional/test_runner.py --extended
In order to run backwards compatibility tests, download the previous node binaries:
```
test/get_previous_releases.py -b v22.0 v0.21.0 v0.20.1 v0.19.1 v0.18.1 v0.17.2 v0.16.3 v0.15.2
test/get_previous_releases.py -b v22.0 v0.21.0 v0.20.1 v0.19.1 v0.18.1 v0.17.2 v0.16.3 v0.15.2 v0.14.3
```
By default, up to 4 tests will be run in parallel by test_runner. To specify

View File

@@ -0,0 +1,61 @@
#!/usr/bin/env python3
# Copyright (c) 2022 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test that unsupported utxo db causes an init error.
Previous releases are required by this test, see test/README.md.
"""
import shutil
from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import assert_equal
class UnsupportedUtxoDbTest(BitcoinTestFramework):
def set_test_params(self):
self.setup_clean_chain = True
self.num_nodes = 2
def skip_test_if_missing_module(self):
self.skip_if_no_previous_releases()
def setup_network(self):
self.add_nodes(
self.num_nodes,
versions=[
140300, # Last release with previous utxo db format
None, # For MiniWallet, without migration code
],
)
def run_test(self):
self.log.info("Create previous version (v0.14.3) utxo db")
self.start_node(0)
block = self.generate(self.nodes[0], 1, sync_fun=self.no_op)[-1]
assert_equal(self.nodes[0].getbestblockhash(), block)
assert_equal(self.nodes[0].gettxoutsetinfo()["total_amount"], 50)
self.stop_nodes()
self.log.info("Check init error")
legacy_utxos_dir = self.nodes[0].chain_path / "chainstate"
legacy_blocks_dir = self.nodes[0].chain_path / "blocks"
recent_utxos_dir = self.nodes[1].chain_path / "chainstate"
recent_blocks_dir = self.nodes[1].chain_path / "blocks"
shutil.copytree(legacy_utxos_dir, recent_utxos_dir)
shutil.copytree(legacy_blocks_dir, recent_blocks_dir)
self.nodes[1].assert_start_raises_init_error(
expected_msg="Error: Unsupported chainstate database format found. "
"Please restart with -reindex-chainstate. "
"This will rebuild the chainstate database.",
)
self.log.info("Drop legacy utxo db")
self.start_node(1, extra_args=["-reindex-chainstate"])
assert_equal(self.nodes[1].getbestblockhash(), block)
assert_equal(self.nodes[1].gettxoutsetinfo()["total_amount"], 50)
if __name__ == "__main__":
UnsupportedUtxoDbTest().main()

View File

@@ -307,6 +307,7 @@ BASE_SCRIPTS = [
'p2p_ping.py',
'rpc_scantxoutset.py',
'feature_txindex_compatibility.py',
'feature_unsupported_utxo_db.py',
'feature_logging.py',
'feature_anchors.py',
'feature_coinstatsindex.py --legacy-wallet',

View File

@@ -19,8 +19,12 @@ import subprocess
import sys
import hashlib
SHA256_SUMS = {
"0e2819135366f150d9906e294b61dff58fd1996ebd26c2f8e979d6c0b7a79580": "bitcoin-0.14.3-aarch64-linux-gnu.tar.gz",
"d86fc90824a85c38b25c8488115178d5785dbc975f5ff674f9f5716bc8ad6e65": "bitcoin-0.14.3-arm-linux-gnueabihf.tar.gz",
"1b0a7408c050e3d09a8be8e21e183ef7ee570385dc41216698cc3ab392a484e7": "bitcoin-0.14.3-osx64.tar.gz",
"706e0472dbc933ed2757650d54cbcd780fd3829ebf8f609b32780c7eedebdbc9": "bitcoin-0.14.3-x86_64-linux-gnu.tar.gz",
#
"d40f18b4e43c6e6370ef7db9131f584fbb137276ec2e3dba67a4b267f81cb644": "bitcoin-0.15.2-aarch64-linux-gnu.tar.gz",
"54fb877a148a6ad189a1e1ab1ff8b11181e58ff2aaf430da55b3fd46ae549a6b": "bitcoin-0.15.2-arm-linux-gnueabihf.tar.gz",
"87e9340ff3d382d543b2b69112376077f0c8b4f7450d372e83b68f5a1e22b2df": "bitcoin-0.15.2-osx64.tar.gz",