I'm trying to connect my Erlang code and Go code with gRPC, during which I found that if I connect to gRPC too many times at the same time my socket would be closed by Go server, further stops my Erlang client (a gen_server). No error info was given to me, just a simple code in Erlang showing that http2_client socket closed by peer #Port<some port info>
.
I'm sure that the limit of concurrent streams gRPC allowed is not reached (as my debug log did not show that we reached that place), and after a carefully look I found the problem occurred in google.golang.org\grpc\server.goserveStreams (line 830)
, and my logs showed that all the streams successfully reached var wg sync.WaitGroup
, but could not finish remaining parts to come back to defer st.Close()
.
Could someone please kindly help me with this strange error, or at least give me some directions I should look into?
st.Close()
– TehSphinX