[
https://issues.apache.org/jira/browse/ZOOKEEPER-2253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Patrick Hunt updated ZOOKEEPER-2253:
------------------------------------
Assignee: Chris Chen
> C asserts ordering of ping requests, while Java client does not
> ---------------------------------------------------------------
>
> Key: ZOOKEEPER-2253
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2253
> Project: ZooKeeper
> Issue Type: Bug
> Components: c client
> Affects Versions: 3.5.0
> Reporter: Chris Chen
> Assignee: Chris Chen
> Attachments: ZOOKEEPER-2253.patch, ZOOKEEPER-2253.patch,
> ZOOKEEPER-2253.patch, zookeeper-2253-3.4.patch
>
>
> Affects C clients from 3.3 to trunk.
> The Java client does not enforce ordering on ping requests. It merely updates
> fields when a ping reply is received and schedules a new ping request when
> necessary.
> The C client actually enqueues the void response in the completion data
> structure and pulls it off when it gets a response.
> This sounds like an implementation detail (and it is, sort of), but if a
> future server were to, say, send unsolicited ping replies to a client to
> assert liveness, it would work fine against a Java client but would cause a C
> client to fail the assertion in zookeeper_process, "assert(cptr)", line 2912,
> zookeeper.c.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)