v1.1.5 Mainnet Stability Fixes
The team has been hard at work as usual since the launch of Mainnet, largely working to fix and test a new solution for managing child processes of the Mina daemon. Initially focused on the Prover and Verifier processes, our testing uncovered that the Gcloud Block Uploads feature was causing nodes to crash during bootstrap and catchup when many blocks were uploaded at once. This release includes a improved management of child processes across the board (including the Gcloud Block Upload feature), new monitoring features and node status improvements, and fixes for some potential crashes.
Additionally, a bug was discovered in the archive node where the balances for two accounts are swapped when storing blocks with "combined fee transfer" transactions. A future announcement will be made with complete migration instructions to repair existing archive databases but the 1.1.5 archive node release will do the right thing for all future blocks/transactions. PR #8509 is the only change to the archive node since 1.1.3.
Child Process Management Refactor:
- More modular refactor of the new waiting code #8358
- More aggressive wait-handling with more verbose logging #8352
- Add timeout to blockchain snarks #8119
- Handle verifier exits safely #8196
- Initial work from #8076 (Partially fix waiting for verifier) ported onto master
- Aggressive handling of block upload exceptions #8419
- Wrap libp2p_helper in the same logic as prover/verifier #8415
Alerting, Monitoring, and Testing:
- Increased timeout for node status RPC #8342
- libp2p metrics fed through to the daemon metrics port for easy integration with the rest of our tooling #8360 , additionally rename the most critical new metric so it gets passed through the existing infra #8427
- Add block height to node-status in a backward-compatible way #8361
- Watchdog fixes for seed peer metric #8258
Critical fixes that have landed since v1.1.3
- Filter out invalid peers from peers-list-files #8260
- Introduced hardening around preventing invalid keypairs from entering the transaction pool #8442
Support pre-release packaging
See 1.1.4...1.1.5 for the complete set of changes since 1.1.4
For more details on the previous 1.1.4 hotfix, see https://github.com/MinaProtocol/mina/releases/tag/1.1.4
Upgrading & Connecting
Daemon Release Artifacts:
Docker Image:
minaprotocol/mina-daemon-baked:1.1.5-a42bdee
Debian Package:
sudo apt-get install -y mina-mainnet=1.1.5-a42bdee
Archive Node Release Artifacts:
Docker Image:
minaprotocol/mina-archive:1.1.5-a42bdee
Debian Package:
sudo apt-get install -y mina-archive=1.1.5-a42bdee
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
Docker Image:
minaprotocol/mina-demo:1.1.5-a42bdee
Just docker run -it --name mina-demo minaprotocol/mina-demo:1.1.5-a42bdee
and go!
Block Producer Stats Sidecar:
The block producer sidecar has been upgraded to be more stable and resilient when nodes are in bootstrap/catchup. The :latest docker tag has been updated, or you can pull minaprotocol/mina-bp-stats-sidecar:1.1.6-386c5ac
to ensure you are using the newest version.
Docker Image
minaprotocol/mina-bp-stats-sidecar:latest
Debian Package
sudo apt-get install -y mina-bp-stats-sidecar=1.1.6-386c5ac
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: a42bdeef6b0c15ee34616e4df76c882b0c5c7c2a