Release 3.3.0.0.1: performance improvements

Stacks core developers have released Stacks Core version 3.3.0.0.1, improving 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_dir directory. ex: cd /stacks where working_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
  1. Upgrade to Stacks Core v3.3.0.0.1
    • Download the new release:
    Release Release 3.3.0.0.1 · stacks-network/stacks-core · GitHub

  2. Update to signer v3.3.0.0.1.0
    • Download the new release:
    Release Release signer-3.3.0.0.1.0 · stacks-network/stacks-core · GitHub

Key Improvements:
• Add indexes to nakamoto_block_headers to fix a performance regression. Node may take a few minutes to restart during the upgrade while the new indexes are created.

Please Note:
• This is a strongly recommended upgrade since it improves performance
• Compatible with all existing 3.x.x.x.x chainstate directories
• No data migration needed!
• Docker images are published:

• Announcement: https://groups.google.com/a/stacks.org/g/announce/c/8tiEqwPNgG8

We would like to encourage everyone to subscribe to the release update mailing list.
Join by sending an email to: [email protected]

We’re here to support you as needed, please let us know if you have any questions. Thank you!

2 Likes