Browse Source

avoid set currentMaster k8s svc.local discoveruy service domains

https://github.com/chrislusf/seaweedfs/issues/2589
pull/3249/head
Konstantin Lebedev 3 years ago
parent
commit
6c20a3b622
  1. 2
      weed/security/tls.go
  2. 8
      weed/server/master_grpc_server.go
  3. 4
      weed/wdclient/masterclient.go

2
weed/security/tls.go

@ -35,7 +35,7 @@ func LoadServerTLS(config *util.ViperProxy, component string) (grpc.ServerOption
serverIdentityProvider, err := pemfile.NewProvider(serverOptions) serverIdentityProvider, err := pemfile.NewProvider(serverOptions)
if err != nil { if err != nil {
glog.Warningf("pemfile.NewProvider(%v) failed: %v", serverOptions, err)
glog.Warningf("pemfile.NewProvider(%v) %v failed: %v", serverOptions, component, err)
return nil, nil return nil, nil
} }

8
weed/server/master_grpc_server.go

@ -263,8 +263,12 @@ func (ms *MasterServer) KeepConnected(stream master_pb.Seaweed_KeepConnectedServ
} }
ms.deleteClient(clientName) ms.deleteClient(clientName)
}() }()
for _, message := range ms.Topo.ToVolumeLocations() {
for i, message := range ms.Topo.ToVolumeLocations() {
if i == 0 {
if leader, err := ms.Topo.Leader(); err == nil {
message.Leader = string(leader)
}
}
if sendErr := stream.Send(&master_pb.KeepConnectedResponse{VolumeLocation: message}); sendErr != nil { if sendErr := stream.Send(&master_pb.KeepConnectedResponse{VolumeLocation: message}); sendErr != nil {
return sendErr return sendErr
} }

4
weed/wdclient/masterclient.go

@ -168,8 +168,8 @@ func (mc *MasterClient) tryConnectToMaster(master pb.ServerAddress) (nextHintedL
} }
// check if it is the leader to determine whether to reset the vidMap // check if it is the leader to determine whether to reset the vidMap
if resp.VolumeLocation != nil && resp.VolumeLocation.Leader != "" {
glog.V(0).Infof("redirected to leader %v", resp.VolumeLocation.Leader)
if resp.VolumeLocation != nil && resp.VolumeLocation.Leader != "" && string(master) != resp.VolumeLocation.Leader {
glog.V(0).Infof("master %v redirected to leader %v", master, resp.VolumeLocation.Leader)
nextHintedLeader = pb.ServerAddress(resp.VolumeLocation.Leader) nextHintedLeader = pb.ServerAddress(resp.VolumeLocation.Leader)
stats.MasterClientConnectCounter.WithLabelValues(stats.RedirectedToleader).Inc() stats.MasterClientConnectCounter.WithLabelValues(stats.RedirectedToleader).Inc()
return nil return nil

Loading…
Cancel
Save