aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-08-26 23:47:39 -0700
committerchrislu <chris.lu@gmail.com>2022-08-26 23:47:39 -0700
commit27c7611ebf7b5e8e32fe1e782f4be6fef8b1036b (patch)
tree13463660e6dd75fb6838322d6b5d3c7e38bea2ff
parent9920d65bc0c146a58e1d89f31f36cca3b2f3e107 (diff)
parentdc4037925d34c15dcc77f4fb6fc6006aec7fb74b (diff)
downloadseaweedfs-27c7611ebf7b5e8e32fe1e782f4be6fef8b1036b.tar.xz
seaweedfs-27c7611ebf7b5e8e32fe1e782f4be6fef8b1036b.zip
Merge branch 'master' of https://github.com/seaweedfs/seaweedfs
-rw-r--r--weed/server/master_grpc_server.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/weed/server/master_grpc_server.go b/weed/server/master_grpc_server.go
index e917909ae..4b65979bd 100644
--- a/weed/server/master_grpc_server.go
+++ b/weed/server/master_grpc_server.go
@@ -68,11 +68,6 @@ func (ms *MasterServer) SendHeartbeat(stream master_pb.Seaweed_SendHeartbeatServ
glog.V(0).Infof("disconnect phantom volume server %s:%d remaining %d", dn.Ip, dn.Port, dn.Counter)
return
}
- // if the volume server disconnects and reconnects quickly
- // the unregister and register can race with each other
- ms.Topo.UnRegisterDataNode(dn)
- glog.V(0).Infof("unregister disconnected volume server %s:%d", dn.Ip, dn.Port)
- ms.UnRegisterUuids(dn.Ip, dn.Port)
message := &master_pb.VolumeLocation{
Url: dn.Url(),
@@ -85,6 +80,12 @@ func (ms *MasterServer) SendHeartbeat(stream master_pb.Seaweed_SendHeartbeatServ
message.DeletedVids = append(message.DeletedVids, uint32(s.VolumeId))
}
+ // if the volume server disconnects and reconnects quickly
+ // the unregister and register can race with each other
+ ms.Topo.UnRegisterDataNode(dn)
+ glog.V(0).Infof("unregister disconnected volume server %s:%d", dn.Ip, dn.Port)
+ ms.UnRegisterUuids(dn.Ip, dn.Port)
+
if len(message.DeletedVids) > 0 {
ms.broadcastToClients(&master_pb.KeepConnectedResponse{VolumeLocation: message})
}