From f6f2e4d10f9f2c6cc17ddcdd231673bdbbc95b70 Mon Sep 17 00:00:00 2001 From: Alex Vanin Date: Fri, 9 Apr 2021 13:51:01 +0300 Subject: [PATCH] [#469] cmd/neofs-node: Don't send UpdateState tx at shutdown by default if `shutdown.offline.enabled` config option set to true, then send netmap.UpdateState(offline) tx at the shutdown. This config option is not set by default. Signed-off-by: Alex Vanin --- cmd/neofs-node/config.go | 5 +++++ cmd/neofs-node/main.go | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cmd/neofs-node/config.go b/cmd/neofs-node/config.go index 2150b246c..42210bca8 100644 --- a/cmd/neofs-node/config.go +++ b/cmd/neofs-node/config.go @@ -107,6 +107,8 @@ const ( cfgReBootstrapEnabled = "bootstrap.periodic.enabled" cfgReBootstrapInterval = "bootstrap.periodic.interval" + cfgShutdownOfflineEnabled = "shutdown.offline.enabled" + cfgObjectPutPoolSize = "pool.object.put.size" cfgObjectGetPoolSize = "pool.object.get.size" cfgObjectHeadPoolSize = "pool.object.head.size" @@ -251,6 +253,8 @@ type cfgNetmap struct { reBootstrapEnabled bool reBootstrapInterval uint64 // in epochs + + goOfflineEnabled bool // send `UpdateState(offline)` tx at shutdown } type BootstrapType uint32 @@ -354,6 +358,7 @@ func initCfg(path string) *cfg { state: state, reBootstrapInterval: viperCfg.GetUint64(cfgReBootstrapInterval), reBootstrapEnabled: viperCfg.GetBool(cfgReBootstrapEnabled), + goOfflineEnabled: viperCfg.GetBool(cfgShutdownOfflineEnabled), }, cfgNodeInfo: cfgNodeInfo{ bootType: StorageNode, diff --git a/cmd/neofs-node/main.go b/cmd/neofs-node/main.go index 144c20a6a..149fa90d0 100644 --- a/cmd/neofs-node/main.go +++ b/cmd/neofs-node/main.go @@ -85,7 +85,9 @@ func shutdown(c *cfg) { closer() } - goOffline(c) + if c.cfgNetmap.goOfflineEnabled { + goOffline(c) + } c.wg.Wait() }