Resolving the Move Cache issue (#941) will require a two-step upgrade process.
- Initially Move changes will be propagated (on chain Hot Upgrade) then,
- 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.
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
Hot Upgrades in the production mainnet run into issues due to Move VM caches not being invalidated when the 0L upgrade is triggered.
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
None
- All continuous integration tests passed.
- QA was performed on Rex Devnet.
The Move stdlib and framework changes are backwards compatible with diem-node
from v5.0.1