[
https://issues.apache.org/jira/browse/ZOOKEEPER-4210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Damien Diederen resolved ZOOKEEPER-4210.
----------------------------------------
Fix Version/s: 3.8.0
Resolution: Fixed
Issue resolved by pull request 1602
[https://github.com/apache/zookeeper/pull/1602]
> Zookeeper c client: detect connection loss during 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.7.0, 3.4.14, 3.6.2
> Environment: Observed on Linux 3.x 4.x 5.x Centos distributions.
> Reporter: Sam Mikes
> Priority: Minor
> Labels: pull-request-available
> Fix For: 3.8.0
>
> Time Spent: 4h 40m
> Remaining Estimate: 0h
>
> 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)