From d474ce6fe304446b242f95e4013462045114b757 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Mon, 21 Jun 2021 22:56:07 -0700 Subject: [PATCH] master: avoid repeated leader redirection fix https://github.com/chrislusf/seaweedfs/issues/2146 --- weed/topology/topology.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/weed/topology/topology.go b/weed/topology/topology.go index d704a5636..4cbe22a42 100644 --- a/weed/topology/topology.go +++ b/weed/topology/topology.go @@ -37,7 +37,7 @@ type Topology struct { chanFullVolumes chan storage.VolumeInfo chanCrowdedVolumes chan storage.VolumeInfo - Configuration *Configuration + Configuration *Configuration RaftServer raft.Server } @@ -70,6 +70,11 @@ func (t *Topology) IsLeader() bool { if t.RaftServer.State() == raft.Leader { return true } + if leader, err := t.Leader(); err == nil { + if t.RaftServer.Name() == leader { + return true + } + } } return false }