[ https://issues.apache.org/jira/browse/ZOOKEEPER-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Skye Wanderman-Milne updated ZOOKEEPER-1495: -------------------------------------------- Attachment: ZOOKEEPER-1495_branch34.patch Patch that can be applied to the 3.4 branch (only difference is imports in ClientTest). > ZK client hangs when using a function not available on the server. > ------------------------------------------------------------------ > > Key: ZOOKEEPER-1495 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1495 > Project: ZooKeeper > Issue Type: Bug > Components: server > Affects Versions: 3.4.2, 3.3.5 > Environment: all > Reporter: nkeywal > Assignee: nkeywal > Priority: Minor > Attachments: 1495.br33.v3.patch, ZOOKEEPER-1495.2.patch, > ZOOKEEPER-1495_branch34.patch, ZOOKEEPER-1495.patch > > > This happens for example when using zk#multi with a 3.4 client but a 3.3 > server. > The issue seems to be on the server side: the servers drops the packets with > an unknown OpCode in ZooKeeperServer#submitRequest > {noformat} > public void submitRequest(Request si) { > // snip > try { > touch(si.cnxn); > boolean validpacket = Request.isValid(si.type); // ===> Check on case > OpCode.* > if (validpacket) { > // snip > } else { > LOG.warn("Dropping packet at server of type " + si.type); > // if invalid packet drop the packet. > } > } catch (MissingSessionException e) { > if (LOG.isDebugEnabled()) { > LOG.debug("Dropping request: " + e.getMessage()); > } > } > } > {noformat} > The solution discussed in ZOOKEEPER-1381 would be to get an exception on the > client side then & close the session. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira