diff --git a/CHANGELOG.md b/CHANGELOG.md index e0e92cd55b4..f39afa0f454 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ * Number of transactions included in a chunk will be lowered if there is a congestion of more than 20000 delayed receipts in a shard. [#9222](https://github.com/near/nearcore/pull/9222) * Our more efficient and scalable V2 routing protocol is implemented. It shadows the V1 protocol for now while we verify its performance. [#9187](https://github.com/near/nearcore/pull/9187) * The default config now enables TIER1 outbound connections by default. [#9349](https://github.com/near/nearcore/pull/9349) +* State Sync from GCS is available for experimental use. [#9398](https://github.com/near/nearcore/pull/9398) ## 1.35.0 diff --git a/chain/client/src/info.rs b/chain/client/src/info.rs index bc67c19694b..e442f1b3bbe 100644 --- a/chain/client/src/info.rs +++ b/chain/client/src/info.rs @@ -641,17 +641,23 @@ pub fn display_sync_status( for (shard_id, shard_status) in shard_statuses { write!(res, "[{}: {}]", shard_id, shard_status.status.to_string(),).unwrap(); } - if matches!(state_sync_config, SyncConfig::Peers) { - // TODO #8719 - tracing::warn!( - target: "stats", - "The node is syncing its State. The current implementation of this mechanism is known to be unreliable. It may never complete, or fail randomly and corrupt the DB.\n\ - Suggestions:\n\ - * Download a recent data snapshot and restart the node.\n\ - * Disable state sync in the config. Add `\"state_sync_enabled\": false` to `config.json`.\n\ - \n\ - A better implementation of State Sync is work in progress."); - } + match state_sync_config { + SyncConfig::Peers => { + tracing::warn!( + target: "stats", + "The node is trying to sync its State from its peers. The current implementation of this mechanism is known to be unreliable. It may never complete, or fail randomly and corrupt the DB.\n\ + Suggestions:\n\ + * Try to state sync from GCS. See `\"state_sync\"` and `\"state_sync_enabled\"` options in the reference `config.json` file. + or + * Disable state sync in the config. Add `\"state_sync_enabled\": false` to `config.json`, then download a recent data snapshot and restart the node."); + } + SyncConfig::ExternalStorage(_) => { + tracing::info!( + target: "stats", + "The node is trying to sync its State from external storage. The current implementation is experimental. If it fails, consider disabling state sync and restarting from a recent snapshot:\n\ + - Add `\"state_sync_enabled\": false` to `config.json`, then download a recent data snapshot and restart the node."); + } + }; res } SyncStatus::StateSyncDone => "State sync done".to_string(),