diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-01-10 00:37:44 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-01-10 00:37:44 -0800 |
| commit | d1ab16b6e312b8a218b974ecf9caa3d4b0103eb6 (patch) | |
| tree | 90f68db7d80482e9dcfcc4148f196908be37a434 | |
| parent | 30c7148020822651703a449ea5dd2c4f813dd9a5 (diff) | |
| download | seaweedfs-d1ab16b6e312b8a218b974ecf9caa3d4b0103eb6.tar.xz seaweedfs-d1ab16b6e312b8a218b974ecf9caa3d4b0103eb6.zip | |
treat it as a single node cluster if empty raft server name
possible fix for https://github.com/chrislusf/seaweedfs/issues/1118
| -rw-r--r-- | weed/topology/topology.go | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/weed/topology/topology.go b/weed/topology/topology.go index e6cb44727..fbf998707 100644 --- a/weed/topology/topology.go +++ b/weed/topology/topology.go @@ -60,7 +60,12 @@ func NewTopology(id string, seq sequence.Sequencer, volumeSizeLimit uint64, puls func (t *Topology) IsLeader() bool { if t.RaftServer != nil { - return t.RaftServer.State() == raft.Leader + if t.RaftServer.State() == raft.Leader { + return true + } + if t.RaftServer.Leader() == "" { + return true + } } return false } @@ -75,7 +80,7 @@ func (t *Topology) Leader() (string, error) { if l == "" { // We are a single node cluster, we are the leader - return t.RaftServer.Name(), errors.New("Raft Server not initialized!") + return t.RaftServer.Name(), nil } return l, nil @@ -152,7 +157,7 @@ func (t *Topology) ListCollections(includeNormalVolumes, includeEcVolumes bool) t.ecShardMapLock.RUnlock() } - for k, _ := range mapOfCollections { + for k := range mapOfCollections { ret = append(ret, k) } return ret |
