Browse Source
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>
pull/6013/head
dsd
3 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with
8 additions and
2 deletions
-
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() { |
|
|
|