Sam Mikes created ZOOKEEPER-4210:
------------------------------------
Summary: Zookeeper c client does not propagate error on
opportunistic async send
Key: ZOOKEEPER-4210
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4210
Project: ZooKeeper
Issue Type: Bug
Components: c client
Affects Versions: 3.6.2, 3.4.14, 3.7.0
Environment: Observed on Linux 3.x 4.x 5.x Centos distributions.
Reporter: Sam Mikes
When an async operation is performed in the C client, the client will attempt
to send the command to the server if this would not block.
When this send reports an error (eg: EPIPE) this is reported up to the async
message, but the return code is not stored and checked, making it impossible
for the user of the c client library to identify this case.
This can eventually trigger an assertion in some IO libraries, eg libev,
because the file descriptor libev is watching is not associated with a valid
stream.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)