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
parent
commit
151f2ff7a9
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 10
      weed/server/master_grpc_server_volume.go

10
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() {

Loading…
Cancel
Save