Chris Chen created ZOOKEEPER-2253:
-------------------------------------
Summary: 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
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)