This release improves stacks-core performance by adding two database indexes which significantly reduce disk reads.
Depending on your hardware, index creation takes between 2-15 minutes per index (there are two).
We strongly recommend all signer operators to manually create indexes before applying this upgrade to avoid any downtime.
Apply the indexes as follows:
Note:
- The following commands require running from your config
working_dirdirectory. ex:cd /stackswhereworking_dir = "/stacks" - You may need to install the sqlite binary. On Debian based systems:
sudo apt-get install sqlite3
$ echo "CREATE INDEX IF NOT EXISTS naka_block_headers_by_burn_hash ON nakamoto_block_headers(burn_header_hash);" | sqlite3 ./mainnet/chainstate/vm/index.sqlite
$ echo "CREATE INDEX IF NOT EXISTS naka_block_headers_by_burn_ht ON nakamoto_block_headers(burn_header_height);" | sqlite3 ./mainnet/chainstate/vm/index.sqlite
This release is compatible with chainstate directories from 3.x.x.x.x.
The version of stacks-signer compatible with this release is 3.3.0.0.1.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.3.0.0.1.0.
Added
- Add indexes to
nakamoto_block_headersto fix a performance regression. Node may take a few minutes to restart during the upgrade while the new indexes are created.