You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Andrew Grasso (JIRA)" <ji...@apache.org> on 2016/08/22 12:46:21 UTC

[jira] [Created] (ZOOKEEPER-2519) zh->state should not be 0 while handle is active

Andrew Grasso created ZOOKEEPER-2519:
----------------------------------------

             Summary: zh->state should not be 0 while handle is active
                 Key: ZOOKEEPER-2519
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2519
             Project: ZooKeeper
          Issue Type: Bug
          Components: c client
    Affects Versions: 3.4.6
            Reporter: Andrew Grasso


0 does not correspond to any of the defined states for the zookeeper handle, so a client should not expect to see this value. But in the function {{handle_error}}, we set {{zh->state = 0}}, which a client may then see. Instead, we should set our state to be {{ZOO_CONNECTING_STATE}}. 

At some point the code moved away from 0 as a valid state and introduced the defined states. This broke the fix to ZOOKEEPER-800, which checks if state is 0 to know if the handle has been created but has not yet connected. We now use {{ZOO_NOTCONNECTED_STATE}} to mean this, so the check for this in {{zoo_add_auth}} must be changed.

We saw this error in 3.4.6, but I believe it remains present in trunk.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)