Skip to content

Latest commit

 

History

History
53 lines (31 loc) · 1.78 KB

5_0_11.md

File metadata and controls

53 lines (31 loc) · 1.78 KB

5.0.11

Resolving the Move Cache issue (#941) will require a two-step upgrade process.

  1. Initially Move changes will be propagated (on chain Hot Upgrade) then,
  2. later Rust changes will be propagated (Node Upgrade). Read about upgrade types here: ol/documentation/network-upgrades/upgrades.md

v5.0.11, is phase #2, where validators will update their new binaries which are compatible with the Move changes to the chain.

TL;DR Deployment

Validators will be updating the diem-node binary. But a refresh of all binaries is recommened.

cd ~/libra
git fetch
git checkout v5.0.11 -f
make bins install

# you can now restart your services

Summary

Hot Upgrades in the production mainnet run into issues due to Move VM caches not being invalidated when the 0L upgrade is triggered.

Changes

Move Changes

From issue: #941

This is Part II of the upgrade Move Cache reset. This includes only Rust changes for v5.0.11, which will be rolled out after the Move changes in v5.0.10 have propagated.

Here there are changes for the diem-node, specifically diem-vm, which will invoke a special Move function Upgrade::upgrade_reconfig, which triggers a new epoch event. This will create "phantom" epochs which last 2 rounds. Since the upgrade tick occurs on round 2, and a new epoch event (including incrementing the epoch number) is required to restart services, this epoch will be shorter. However no accounting or payments occur in this epoch.

PRs: #946

Rust Changes

None

Tests
  • All continuous integration tests passed.
  • QA was performed on Rex Devnet.
Compatibility

The Move stdlib and framework changes are backwards compatible with diem-node from v5.0.1