diff options
| author | steve.wei <coderushing@gmail.com> | 2024-06-08 00:13:03 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-07 09:13:03 -0700 |
| commit | 2150289442f1f84903ada4514807c5c397545440 (patch) | |
| tree | 9c855e7520b0a153cb18cbf2e16b0ff3a07c343a | |
| parent | 3fd038fcfe6a55df5a726aa6ea518b4e7a311692 (diff) | |
| download | seaweedfs-2150289442f1f84903ada4514807c5c397545440.tar.xz seaweedfs-2150289442f1f84903ada4514807c5c397545440.zip | |
fix: Ensure that the clientAddress is unique (#5655)
| -rw-r--r-- | weed/server/master_grpc_server.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/weed/server/master_grpc_server.go b/weed/server/master_grpc_server.go index 0a7bd5ef2..088e91be8 100644 --- a/weed/server/master_grpc_server.go +++ b/weed/server/master_grpc_server.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/google/uuid" "github.com/seaweedfs/seaweedfs/weed/cluster" "net" "sort" @@ -260,7 +261,12 @@ func (ms *MasterServer) KeepConnected(stream master_pb.Seaweed_KeepConnectedServ return ms.informNewLeader(stream) } - peerAddress := pb.ServerAddress(req.ClientAddress) + clientAddress := req.ClientAddress + // Ensure that the clientAddress is unique. + if clientAddress == "" { + clientAddress = uuid.New().String() + } + peerAddress := pb.ServerAddress(clientAddress) // buffer by 1 so we don't end up getting stuck writing to stopChan forever stopChan := make(chan bool, 1) |
