How to reproduce the issue:
$ cd ruby_server
$ ruby app.rbThis will start a Hello World server on the 0.0.0.0:50051 host.
$ cd elixir_client
$ mix helloWith this example, I get the following output:
{:error,
%GRPC.RPCError{message: "shouldn't finish when getting headers", status: 13}}
{:error,
%GRPC.RPCError{message: "shouldn't finish when getting headers", status: 13}}
{:error,
%GRPC.RPCError{message: "shouldn't finish when getting headers", status: 13}}
{:error,
%GRPC.RPCError{message: "shouldn't finish when getting headers", status: 13}}
{:error,
%GRPC.RPCError{message: "shouldn't finish when getting headers", status: 13}}
{:error,
%GRPC.RPCError{message: "shouldn't finish when getting headers", status: 13}}
{:error,
%GRPC.RPCError{message: "shouldn't finish when getting headers", status: 13}}The issue seems to be related to timing of the response. If I remove the
sleep 0.3 from the server implementation, everything seems to be working.