zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Johnson (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ZOOKEEPER-2901) Session ID that is negative causes mis-calculation of Ephemeral Type
Date Wed, 20 Sep 2017 18:55:00 GMT
Mark Johnson created ZOOKEEPER-2901:
---------------------------------------

             Summary: Session ID that is negative causes mis-calculation of Ephemeral Type
                 Key: ZOOKEEPER-2901
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2901
             Project: ZooKeeper
          Issue Type: Bug
          Components: server
    Affects Versions: 3.5.3
         Environment: Running 3.5.3-beta in Docker container
            Reporter: Mark Johnson


In the code that determines the EphemeralType it is looking at the owner (which is the client
ID or connection ID):

EphemeralType.java:

   public static EphemeralType get(long ephemeralOwner) {
       if (ephemeralOwner == CONTAINER_EPHEMERAL_OWNER) {
           return CONTAINER;
       }
       if (ephemeralOwner < 0) {
           return TTL;
       }
       return (ephemeralOwner == 0) ? VOID : NORMAL;
   }

However my connection ID is:

header.getClientId(): -720548323429908480

This causes the code to think this is a TTL Ephemeral node instead of a
NORMAL Ephemeral node.

This also explains why this is random - if my client ID is non-negative
then the node gets added correctly.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message