grpc_client icon indicating copy to clipboard operation
grpc_client copied to clipboard

Wrong streams sequence

Open carolcarolus opened this issue 5 years ago • 0 comments

Hi,

I noticed weird behavior of the grpc_client in my application.

I have a client-server application which uses grpc_client:unary(...) function and external msg encoder.

Unfortunately, after sending a large amount of messages in parallel, the server application receives streams in wrong sequence which causes a crash: 1 -> 3 -> 5 -> 7 -> 9 -> 11 -> 15 -> 19 -> 13 -> 21 -> crash and this is incompatible with rfc7540.

I noticed that grpc_client reserves the new stream ID and after that stats to process message content, including encoding the message(grpc_client_stream.erl). If the sending message is very big it will be encoded(and send) later than the message from the next one streamID. In my opinion this is a bug.

carolcarolus avatar Jul 09 '19 09:07 carolcarolus