nkeywal created ZOOKEEPER-1495:
----------------------------------
Summary: ZK clieent 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.3.5, 3.4.2
Environment: all
Reporter: nkeywal
Priority: Minor
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:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira