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)

Reply via email to