For a while I thought this was the perl client not calling zookeeper_close() properly, but I can reproduce this using the example c_client code from the twiki as well. (http://hadoop.apache.org/zookeeper/docs/r3.3.1/zookeeperProgrammers.html#ZooKeeper+C+client+API)
I thought I'd check here before filing a JIRA; am I missing something obvious? Anytime a client disconnects from my quorum servers, even when zookeeper_close() has been called, I get this: 2010-10-29 18:04:44,454 - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:18121:nioserverc...@633] - EndOfStreamException: Unable to read additional data from client sessionid 0x12bf93ca6a70041, likely client has closed socket 2010-10-29 18:04:44,454 - INFO [ProcessThread:-1:preprequestproces...@385] - Processed session termination for sessionid: 0x12bf93ca6a70041 2010-10-29 18:04:44,454 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:18121:nioserverc...@1434] - Closed socket connection for client /fe80:0:0:0:0:0:0:1%1:62472 which had sessionid 0x12bf93ca6a70041 2010-10-29 18:04:44,457 - ERROR [SyncThread:0:nioserverc...@444] - Unexpected Exception: java.nio.channels.CancelledKeyException at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:55) at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:59) at org.apache.zookeeper.server.NIOServerCnxn.sendBuffer(NIOServerCnxn.java:417) at org.apache.zookeeper.server.NIOServerCnxn.sendResponse(NIOServerCnxn.java:1508) at org.apache.zookeeper.server.FinalRequestProcessor.processRequest(FinalRequestProcessor.java:367) at org.apache.zookeeper.server.SyncRequestProcessor.flush(SyncRequestProcessor.java:161) at org.apache.zookeeper.server.SyncRequestProcessor.run(SyncRequestProcessor.java:98) I looked through list archives and such, most other occurrences of this have to do with some other error (bad timeouts, etc). In this case I'm closing the connection properly and the cluster is working just fine. (3.3.1 on darwin and rhel4, btw) -- nicholas harteau n...@ikami.com