Hi,

I'm running version 3.5.3-BETA of Zookeeper in a Docker container and usually cannot create Ephemeral znodes, either through the CLI or though a Java program.  It appears the owner is not set.  Here's an example session:

============================================================================================================
[root@Appliance ~]# docker exec -it 9b7cd1e80b5b /bin/bash
zookeeper@9b7cd1e80b5b:/opt/zookeeper-3.5.3-beta$ bin/zkCli.sh
Connecting to localhost:2181
2017-09-19 10:03:31,373 [myid:] - INFO  [main:Environment@109] - Client environment:zookeeper.version=3.5.3-beta-8ce24f9e675cbefffb8f21a47e06b42864475a60, built on 04/03/2017 16:19 GMT 2017-09-19 10:03:31,378 [myid:] - INFO  [main:Environment@109] - Client environment:host.name=9b7cd1e80b5b 2017-09-19 10:03:31,378 [myid:] - INFO  [main:Environment@109] - Client environment:java.version=1.8.0_144 2017-09-19 10:03:31,380 [myid:] - INFO  [main:Environment@109] - Client environment:java.vendor=Oracle Corporation 2017-09-19 10:03:31,380 [myid:] - INFO  [main:Environment@109] - Client environment:java.home=/usr/lib/jvm/java-8-oracle/jre 2017-09-19 10:03:31,380 [myid:] - INFO  [main:Environment@109] - Client environment:java.class.path=/opt/zookeeper-3.5.3-beta/bin/../build/classes:/opt/zookeeper-3.5.3-beta/bin/../build/lib/*.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/slf4j-log4j12-1.7.5.jar
:/opt/zookeeper-3.5.3-beta/bin/../lib/slf4j-api-1.7.5.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/netty-3.10.5.Final.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/log4j-1.2.17.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/jline-2.11.jar:/opt/zookeeper-3.5.3-beta/bin/..
/lib/jetty-util-9.2.18.v20160721.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/jetty-servlet-9.2.18.v20160721.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/jetty-server-9.2.18.v20160721.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/jetty-security-9.2.18.v20160721.jar:/op
t/zookeeper-3.5.3-beta/bin/../lib/jetty-io-9.2.18.v20160721.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/jetty-http-9.2.18.v20160721.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/javax.servlet-api-3.1.0.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/jackson-mapper-asl-1.
9.11.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/jackson-core-asl-1.9.11.jar:/opt/zookeeper-3.5.3-beta/bin/../lib/commons-cli-1.2.jar:/opt/zookeeper-3.5.3-beta/bin/../zookeeper-3.5.3-beta.jar:/opt/zookeeper-3.5.3-beta/bin/../src/java/lib/*.jar:/opt/zookeeper-
3.5.3-beta/bin/../conf:
2017-09-19 10:03:31,380 [myid:] - INFO  [main:Environment@109] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 2017-09-19 10:03:31,380 [myid:] - INFO  [main:Environment@109] - Client environment:java.io.tmpdir=/tmp 2017-09-19 10:03:31,380 [myid:] - INFO  [main:Environment@109] - Client environment:java.compiler=<NA> 2017-09-19 10:03:31,380 [myid:] - INFO  [main:Environment@109] - Client environment:os.name=Linux 2017-09-19 10:03:31,380 [myid:] - INFO  [main:Environment@109] - Client environment:os.arch=amd64 2017-09-19 10:03:31,381 [myid:] - INFO  [main:Environment@109] - Client environment:os.version=3.10.0-514.26.2.el7.x86_64 2017-09-19 10:03:31,381 [myid:] - INFO  [main:Environment@109] - Client environment:user.name=zookeeper 2017-09-19 10:03:31,381 [myid:] - INFO  [main:Environment@109] - Client environment:user.home=/home/zookeeper 2017-09-19 10:03:31,381 [myid:] - INFO  [main:Environment@109] - Client environment:user.dir=/opt/zookeeper-3.5.3-beta 2017-09-19 10:03:31,381 [myid:] - INFO  [main:Environment@109] - Client environment:os.memory.free=233MB 2017-09-19 10:03:31,382 [myid:] - INFO  [main:Environment@109] - Client environment:os.memory.max=240MB 2017-09-19 10:03:31,383 [myid:] - INFO  [main:Environment@109] - Client environment:os.memory.total=240MB 2017-09-19 10:03:31,386 [myid:] - INFO  [main:ZooKeeper@865] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@28ba21f3 2017-09-19 10:03:31,397 [myid:] - INFO  [main:ClientCnxnSocket@236] - jute.maxbuffer value is 4194304 Bytes 2017-09-19 10:03:31,410 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1113] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
Welcome to ZooKeeper!
JLine support is enabled
2017-09-19 10:03:31,493 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@948] - Socket connection established, initiating session, client: /127.0.0.1:44882, server: localhost/127.0.0.1:2181 2017-09-19 10:03:31,506 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1381] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0xeb0000480b3c005c, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] create -e /testnode
Created /testnode
[zk: localhost:2181(CONNECTED) 1] stat /testnode
cZxid = 0x2000002c4
ctime = Tue Sep 19 10:03:50 CDT 2017
mZxid = 0x2000002c4
mtime = Tue Sep 19 10:03:50 CDT 2017
pZxid = 0x2000002c4
cversion = 0
dataVersion = 0
aclVersion = 0
*ephemeralOwner = 0x0*
dataLength = 0
numChildren = 0
[zk: localhost:2181(CONNECTED) 2]
==========================================================================================================

If I disconnect and reconnect, the znode is still present as well. If I restart Zookeeper, many times this will resolve itself somehow and creation of ephemeral nodes will work correctly.  I have also tried this in a clustered configuration and get cases where one Zookeeper will create ephemeral nodes correctly and another Zookeeper will exhibit the above issue.

Please let me know what other information would be of use or other things I could be looking for.

Any help appreciated.

Mark



Reply via email to