github near/nearcore 1.34.0

latest releases: 2.2.1, 2.2.1-rc.1, crates-0.26.0...
16 months ago
CODE_COLOR: CODE_YELLOW_MAINNET
RELEASE_VERSION: 1.34.0
PROTOCOL_UPGRADE: TRUE
DATABASE_UPGRADE: TRUE
SECURITY_UPGRADE: TRUE

Protocol Changes

  • Flat Storage for reads. Reduces the number of DB accesses for state reads from 2 * key.len() in the worst case to 2. #8761, NEP-399
  • Compute Costs are implemented and stabilized. Compute usage of the chunk is now limited according to the compute costs. #8915, NEP-455.
  • Write-related storage compute costs are increased which means they fill a chunk sooner but gas costs are unaffected. #8924

Flat Storage Migration

This is a very important migration that needs special attention.
The migration starts automatically after switching to the 1.34.0 binary and runs in the background.
The migration completes approximately in:

  • RPC nodes: 11-15 hours
  • Archival nodes: 30-40 hours

The migration increases disk usage by approximately 10 GB.
Please upgrade early to make sure there is enough time for the migration to complete.
Note that the protocol voting date is set further into the future than usually, to make sure that all RPC and Archival nodes have an opportunity to upgrade.

Failure to finish the migration before the protocol upgrade will result in the node getting stuck.
The migration cannot be started if the node has already missed the protocol upgrade.

To check that the migration has completed, check the metrics page, e.g. http://127.0.0.1:3030/metrics .
If flat_storage_creation_status has value of 2 for each of the shards, then the migration is complete.
If flat_storage_creation_status is missing and flat_storage_distance_to_head has a very low value for each of the shards, then the migration is complete.

Reduce Memory Usage

If you are running a node on minimal hardware specifications, you can save 2GB of RAM by decreasing store.trie_cache.per_shard_max_bytes.s3.v1 from 3000000000 (default value) to 1000000000.
All our testing shows that things work stable with that and block processing stays below 1 second.
However, keeping store.trie_cache.per_shard_max_bytes.s3.v1=3000000000 has a positive impact on reducing the processing time and therefore gives an extra safety buffer.

Protocol Upgrade Voting

Voting for upgrading to protocol version 61 will start on 2023-06-12 15:00:00 UTC. Please upgrade early because of a special Flat Storage migration.

Database Upgrade

This release includes a trivial DB upgrade. It changes no data, but informs about the Flat Storage migration. The upgrade completes instantly and requires no extra disk space.
Several new columns will be created by the Flat Storage migration in the background.

Non-Protocol Changes

  • undo-block tool to reset the chain head from current head to its prev block. Use the tool by running: ./target/release/neard undo-block. #8681
  • Add prometheus metrics for expected number of blocks/chunks at the end of the epoch. #8759
  • Node can sync State from S3. #8789
  • Node can sync State from local filesystem. #8913
  • Add per shard granularity for chunks in validator info metric. #8934

Fixes

  • Extra validation of DeleteAccountAction

Don't miss a new nearcore release

NewReleases is sending notifications on new releases.