filer may have trouble to re-connect

clientId is used twice: one for local metadata subscription, one for combined metadata subscription.
This commit is contained in:
chrislu 2022-07-14 12:15:31 -07:00
parent 957c9a2eb2
commit fbd8f868a1

View file

@ -90,6 +90,9 @@ func (fs *FilerServer) SubscribeLocalMetadata(req *filer_pb.SubscribeMetadataReq
peerAddress := findClientAddress(stream.Context(), 0)
// use negative client id to differentiate from addClient()/deleteClient() used in SubscribeMetadata()
req.ClientId = -req.ClientId
alreadyKnown, clientName := fs.addClient(req.ClientName, peerAddress, req.ClientId)
if alreadyKnown {
return fmt.Errorf("duplicated local subscription detected for client %s id %d", clientName, req.ClientId)