Broken pipe errors in grpc client

2,262 views
Skip to first unread message

din...@cohesity.com

unread,
Sep 21, 2016, 2:23:50 AM9/21/16
to grpc.io
Hi, While running grpc client, sometimes we are getting "broken pipe" and "connection reset by peer" errors. Frequency is pretty less.
Should not grpc client itself retry on these errors. 
What is the application supposed to do in these cases? Is it ok to just retry the request in application or do we need to reinitialize the client? 
I am using grpc v1.0.

{"created":"@1474401100.638932982","description":"OS Error","errno":32,"file":"src/core/lib/iomgr/tcp_posix.c","file_line":340,"os_error":"Broken pipe","syscall":"sendmsg"}

{"created":"@1474368842.846383126","description":"OS Error","errno":104,"file":"src/core/lib/iomgr/tcp_posix.c","file_line":340,"os_error":"Connection reset by peer","syscall":"sendmsg"}

Thanks in advance.

Nathaniel Manista

unread,
Sep 21, 2016, 3:56:52 PM9/21/16
to din...@cohesity.com, grpc.io
With what programming language are you using gRPC?
-Nathaniel

Dinesh Pathak

unread,
Sep 21, 2016, 11:16:33 PM9/21/16
to Nathaniel Manista, grpc.io
Both client and server are in cpp. 
Just to add, server is still usable after this and responds to requests if we make a new client.

Thanks.

Dinesh Pathak

unread,
Sep 23, 2016, 6:24:58 AM9/23/16
to Nathaniel Manista, grpc.io
Hi, Can someone help me with this question. Thanks.

Vijay Pai

unread,
Oct 18, 2016, 6:34:57 PM10/18/16
to grpc.io, nath...@google.com, din...@cohesity.com
Do these error reports actually stop you from reusing this client? These are just log messages that say something about the underlying TCP connection, but they don't mean that it is a fatal failure on the channel. Note that gRPC automatically restarts the TCP connection if you are trying to send a message but there is no living TCP connection.

Dinesh Pathak

unread,
Oct 21, 2016, 1:47:12 AM10/21/16
to Vijay Pai, grpc.io, Nathaniel Manista
Hi Vijay, We were facing these issues during some long running tests, sending couple of TBs of data. Grpc was sending status code 13, which according to code seems fatal, so we never tried. 

/// Internal errors. Means some invariants expected by underlying System has
/// been broken. If you see one of these errors, Something is very broken.
INTERNAL = 13,

Thanks,
Dinesh

--
You received this message because you are subscribed to a topic in the Google Groups "grpc.io" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/grpc-io/1S3cNQTC-Zk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to grpc-io+unsubscribe@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/dc818f17-d01c-4a1e-ab63-41a29a61d1af%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages