This is expected. In cases where the network becomes unstable, it is the responsibility of the client writer to handle disconnected events appropriately and check to verify whether nodes they tried to write around the time of these events did or did not succeed. It makes writing a "Generic" client for ZK very difficult (search the mailing list for zkclient and you'll read a bunch of convos around this topic). Fortunately, many things that rely on EPHEMERAL_SEQUENTIAL nodes can tolerate some duplication of data, so often it's not a huge problem.
C -----Original Message----- From: 박영근(Alex) [mailto:alex.p...@nexr.com] Sent: Wednesday, September 21, 2011 9:16 AM To: dev@zookeeper.apache.org Cc: u...@zookeeper.apache.org Subject: Creating a znode with SEQUENTIAL_EPHEMERAL mode becomes corrupt in case of unstable network Hi, All I met a problem in creating a znode with SEQUENTIAL_EPHEMERAL mode under unstable network condition. While a client did not receive a message that a sequential node was created, the ensemble has the znode, which is checked at zookeeper dashboard( https://github.com/phunt/zookeeper_dashboard). If the client receives a DISCONNECTED event, it tries to reconnect. Session timeout is 30 seconds. Unstable network condition is made as the following: The grinder agent sends a request of creating a znode of CreateMode. SEQUENTIAL_EPHEMERAL. ZK ensemble has three servers. Each NIC of server is down and up repeatedly; NIC of server1 become down every one minute and sleeps for 9 seconds, then up NIC of server2 become down every 2 minute and sleeps for 9 seconds, then up NIC of server3 become down every 3 minute and sleeps for 9 seconds, then up Is there any idea or related issue? Thanks in advance. Alex