From c691d116ab150a3af8404ffaa5ee5d140c3c6a5e Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Sat, 15 Feb 2020 11:35:08 +0000 Subject: [PATCH] when the stream errors cleanup the connection (#1199) --- client/grpc/grpc.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/grpc/grpc.go b/client/grpc/grpc.go index e3ada840..272719c4 100644 --- a/client/grpc/grpc.go +++ b/client/grpc/grpc.go @@ -218,6 +218,12 @@ func (g *grpcClient) stream(ctx context.Context, node *registry.Node, req client st, err := cc.NewStream(newCtx, desc, methodToGRPC(req.Service(), req.Endpoint()), grpcCallOptions...) if err != nil { + // we need to cleanup as we dialled and created a context + // cancel the context + cancel() + // close the connection + cc.Close() + // now return the error return nil, errors.InternalServerError("go.micro.client", fmt.Sprintf("Error creating stream: %v", err)) }