Open kolonist opened 4 months ago
Hi @JamesNK!
After using new library for a couple of weeks we noticed that with the error described above comes also memory leak. We can see endless grow of memory consumption. We can't really reproduce it now but I believe that it somehow interconnected.
Hi, @JamesNK
Moved this issue from another thread as you said.
We got endless
Error connecting to subchannel
expeptions afterHttpRequestException
repeated 3 times.At first we catched this problem after SSL Error when we used wrong certificate so we thought that the problem is just wrong message and there is nothing to worry about.
But recently we got exactly the same error after this exception:
It was temporary error while we restarted target GRPC-service. This exception expected to be stoped after a second or so, but it not only didn't stopp but it started to fail all requests with
Error connecting to subchannel
exceptions which stopped only after our application restarted.So I believe that
HttpRequestException
repeated several times (3 times in reproduction below) results in subchannel poisoning.We use
grpc-dotnet
, branchv2.63.x
.Reproduction:
We use GRPC to connect to third-party server written in Go programming language (if it is important) with TLS certificates to authenticate.
Code used to authenticate:
I use this simple code to reproduce this issue:
To reproduce the issue we need to specify well-formed TLS-certificate but without proper permissions (there were some cases when we used invalid certificates and got the same issue but we can't reproduce it now). For this example I took only one endpoint in balancing, but if I have more then I get the same result for every endpoint.
Log is as foollows:
I waited for backoff to handle this but it has no effect here.
According to exceptions above I can guess that the problem is in stored somewhere Cancellation token which was once Cancelled and then used in every request.
Please could you look at this issue.