aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordsd <60881537+dsd2077@users.noreply.github.com>2024-09-12 01:24:52 +0800
committerGitHub <noreply@github.com>2024-09-11 10:24:52 -0700
commit151f2ff7a9f551e713ff9894348a9bac138d5247 (patch)
treeb24e24d96ffcd1246675da9fb63f6777f1a54fbf
parent3b840c20e3c6ef9f9ed9ac5159251d210b9dd484 (diff)
downloadseaweedfs-151f2ff7a9f551e713ff9894348a9bac138d5247.tar.xz
seaweedfs-151f2ff7a9f551e713ff9894348a9bac138d5247.zip
prevent dead loop for followers of master node (#6007)
* prevent dead loop for followers of master node * fix comments --------- Co-authored-by: levi <344887649@foxmail.com>
-rw-r--r--weed/server/master_grpc_server_volume.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/weed/server/master_grpc_server_volume.go b/weed/server/master_grpc_server_volume.go
index 6d5ee0385..e2e6cda42 100644
--- a/weed/server/master_grpc_server_volume.go
+++ b/weed/server/master_grpc_server_volume.go
@@ -3,12 +3,13 @@ package weed_server
import (
"context"
"fmt"
- "github.com/seaweedfs/seaweedfs/weed/stats"
"math/rand/v2"
"strings"
"sync"
"time"
+ "github.com/seaweedfs/seaweedfs/weed/stats"
+
"github.com/seaweedfs/seaweedfs/weed/topology"
"github.com/seaweedfs/raft"
@@ -42,7 +43,13 @@ func (ms *MasterServer) DoAutomaticVolumeGrow(req *topology.VolumeGrowRequest) {
func (ms *MasterServer) ProcessGrowRequest() {
go func() {
ctx := context.Background()
+ firstRun := true
for {
+ if firstRun {
+ firstRun = false
+ } else {
+ time.Sleep(14*time.Minute + time.Duration(120*rand.Float32())*time.Second)
+ }
if !ms.Topo.IsLeader() {
continue
}
@@ -84,7 +91,6 @@ func (ms *MasterServer) ProcessGrowRequest() {
glog.V(0).Infof("volume grow request failed: %+v", err)
}
}
- time.Sleep(14*time.Minute + time.Duration(120*rand.Float32())*time.Second)
}
}()
go func() {