Details
Description
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)
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.
Attachments
Issue Links
- relates to
-
ZOOKEEPER-2503 do a hard constraints on the number of myid which must between 0 and 255
- Open
-
ZOOKEEPER-2163 Introduce new ZNode type: container
- Resolved
-
ZOOKEEPER-2169 Enable creation of nodes with TTLs
- Resolved
- links to