diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-08-12 18:10:59 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-08-12 18:10:59 -0700 |
| commit | 5571f4f70a2e304343e76638caacc3bd0338a8d1 (patch) | |
| tree | dca89320167ca82dae6f9ede85eed00a78a08f06 /weed/server | |
| parent | 5469019852cf1399b64683cbcc54f4c077377afb (diff) | |
| download | seaweedfs-5571f4f70a2e304343e76638caacc3bd0338a8d1.tar.xz seaweedfs-5571f4f70a2e304343e76638caacc3bd0338a8d1.zip | |
master: add master.follower to handle read file id lookup requests
Diffstat (limited to 'weed/server')
| -rw-r--r-- | weed/server/master_grpc_server_volume.go | 4 | ||||
| -rw-r--r-- | weed/server/master_server.go | 9 |
2 files changed, 6 insertions, 7 deletions
diff --git a/weed/server/master_grpc_server_volume.go b/weed/server/master_grpc_server_volume.go index 4132ce690..314db363f 100644 --- a/weed/server/master_grpc_server_volume.go +++ b/weed/server/master_grpc_server_volume.go @@ -68,10 +68,6 @@ func (ms *MasterServer) ProcessGrowRequest() { func (ms *MasterServer) LookupVolume(ctx context.Context, req *master_pb.LookupVolumeRequest) (*master_pb.LookupVolumeResponse, error) { - if !ms.Topo.IsLeader() { - return nil, raft.NotLeaderError - } - resp := &master_pb.LookupVolumeResponse{} volumeLocations := ms.lookupVolumeId(req.VolumeIds, req.Collection) diff --git a/weed/server/master_server.go b/weed/server/master_server.go index 273d6ba7d..d2edeb6cb 100644 --- a/weed/server/master_server.go +++ b/weed/server/master_server.go @@ -44,6 +44,7 @@ type MasterOption struct { DisableHttp bool MetricsAddress string MetricsIntervalSec int + IsFollower bool } type MasterServer struct { @@ -145,7 +146,9 @@ func NewMasterServer(r *mux.Router, option *MasterOption, peers []string) *Maste ms.ProcessGrowRequest() - ms.startAdminScripts() + if !option.IsFollower { + ms.startAdminScripts() + } return ms } @@ -193,8 +196,8 @@ func (ms *MasterServer) proxyToLeader(f http.HandlerFunc) http.HandlerFunc { proxy.Transport = util.Transport proxy.ServeHTTP(w, r) } else { - // drop it to the floor - // writeJsonError(w, r, errors.New(ms.Topo.RaftServer.Name()+" does not know Leader yet:"+ms.Topo.RaftServer.Leader())) + // handle requests locally + f(w, r) } } } |
