From c5189c343baa0d7b36349bbca669f8bba12d491b Mon Sep 17 00:00:00 2001 From: Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> Date: Wed, 20 Jul 2022 00:54:23 +0500 Subject: [PATCH] remove ticker update the topology before each file --- weed/shell/command_volume_server_evacuate.go | 26 +++++++------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/weed/shell/command_volume_server_evacuate.go b/weed/shell/command_volume_server_evacuate.go index c9df2c79a..f72d73230 100644 --- a/weed/shell/command_volume_server_evacuate.go +++ b/weed/shell/command_volume_server_evacuate.go @@ -11,11 +11,8 @@ import ( "golang.org/x/exp/slices" "io" "os" - "time" ) -const topologyInfoUpdateInterval = 5 * time.Minute - func init() { Commands = append(Commands, &commandVolumeServerEvacuate{}) } @@ -117,23 +114,18 @@ func (c *commandVolumeServerEvacuate) evacuateNormalVolumes(commandEnv *CommandE } // move away normal volumes - ticker := time.NewTicker(topologyInfoUpdateInterval) - defer ticker.Stop() for _, thisNode := range thisNodes { for _, diskInfo := range thisNode.info.DiskInfos { if applyChange { - select { - case <-ticker.C: - if topologyInfo, _, err := collectTopologyInfo(commandEnv, 0); err != nil { - fmt.Fprintf(writer, "update topologyInfo %v", err) - } else { - _, otherNodesNew := c.nodesOtherThan( - collectVolumeServersByDc(topologyInfo, ""), volumeServer) - if len(otherNodesNew) > 0 { - otherNodes = otherNodesNew - c.topologyInfo = topologyInfo - fmt.Fprintf(writer, "topologyInfo updated %v\n", len(otherNodes)) - } + if topologyInfo, _, err := collectTopologyInfo(commandEnv, 0); err != nil { + fmt.Fprintf(writer, "update topologyInfo %v", err) + } else { + _, otherNodesNew := c.nodesOtherThan( + collectVolumeServersByDc(topologyInfo, ""), volumeServer) + if len(otherNodesNew) > 0 { + otherNodes = otherNodesNew + c.topologyInfo = topologyInfo + fmt.Fprintf(writer, "topologyInfo updated %v\n", len(otherNodes)) } } }