diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2022-08-12 01:03:26 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-11 15:03:26 -0700 |
| commit | 4d4cd0948d45bc537cbc2eaf3babca0559d27b25 (patch) | |
| tree | 4143f8d76c70d66ecb1ce79117202acaa1a21298 /weed/wdclient/masterclient.go | |
| parent | 53b601616cb5c42c49cf5d8f82a4142a1a7f41c3 (diff) | |
| download | seaweedfs-4d4cd0948d45bc537cbc2eaf3babca0559d27b25.tar.xz seaweedfs-4d4cd0948d45bc537cbc2eaf3babca0559d27b25.zip | |
avoid infinite loop WaitUntilConnected() (#3431)
https://github.com/seaweedfs/seaweedfs/issues/3421
Diffstat (limited to 'weed/wdclient/masterclient.go')
| -rw-r--r-- | weed/wdclient/masterclient.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/weed/wdclient/masterclient.go b/weed/wdclient/masterclient.go index 8b361aa67..391dd9199 100644 --- a/weed/wdclient/masterclient.go +++ b/weed/wdclient/masterclient.go @@ -93,7 +93,10 @@ func (mc *MasterClient) GetMasters() map[string]pb.ServerAddress { } func (mc *MasterClient) WaitUntilConnected() { - for mc.currentMaster == "" { + for { + if mc.currentMaster != "" { + return + } time.Sleep(time.Duration(rand.Int31n(200)) * time.Millisecond) } } @@ -135,7 +138,6 @@ func (mc *MasterClient) FindLeaderFromOtherPeers(myMasterAddress pb.ServerAddres func (mc *MasterClient) tryAllMasters() { var nextHintedLeader pb.ServerAddress for _, master := range mc.masters { - nextHintedLeader = mc.tryConnectToMaster(master) for nextHintedLeader != "" { nextHintedLeader = mc.tryConnectToMaster(nextHintedLeader) @@ -228,9 +230,7 @@ func (mc *MasterClient) tryConnectToMaster(master pb.ServerAddress) (nextHintedL } } } - } - }) if gprcErr != nil { stats.MasterClientConnectCounter.WithLabelValues(stats.Failed).Inc() |
