Josh Elser created ACCUMULO-4369:
------------------------------------
Summary: Poor exception propagation in Shell#setInstance()
Key: ACCUMULO-4369
URL: https://issues.apache.org/jira/browse/ACCUMULO-4369
Project: Accumulo
Issue Type: Bug
Components: test
Reporter: Josh Elser
Assignee: Josh Elser
Fix For: 1.7.3, 1.8.0
{noformat}
experimentalPropTest(org.apache.accumulo.test.ShellConfigIT) Time elapsed: 63.119 sec <<<
ERROR!
java.lang.IllegalArgumentException: Unable to load client config from /etc/accumulo/conf/client.conf
at org.apache.accumulo.fate.zookeeper.ZooSession.connect(ZooSession.java:124)
at org.apache.accumulo.fate.zookeeper.ZooSession.getSession(ZooSession.java:164)
at org.apache.accumulo.fate.zookeeper.ZooReader.getSession(ZooReader.java:43)
at org.apache.accumulo.fate.zookeeper.ZooReader.getZooKeeper(ZooReader.java:47)
at org.apache.accumulo.fate.zookeeper.ZooCache.getZooKeeper(ZooCache.java:59)
at org.apache.accumulo.fate.zookeeper.ZooCache.retry(ZooCache.java:159)
at org.apache.accumulo.fate.zookeeper.ZooCache.get(ZooCache.java:289)
at org.apache.accumulo.fate.zookeeper.ZooCache.get(ZooCache.java:238)
at org.apache.accumulo.core.client.ZooKeeperInstance.getInstanceID(ZooKeeperInstance.java:169)
at org.apache.accumulo.core.client.ZooKeeperInstance.<init>(ZooKeeperInstance.java:159)
at org.apache.accumulo.core.client.ZooKeeperInstance.<init>(ZooKeeperInstance.java:140)
at org.apache.accumulo.shell.Shell.getZooInstance(Shell.java:498)
at org.apache.accumulo.shell.Shell.setInstance(Shell.java:452)
at org.apache.accumulo.shell.Shell.config(Shell.java:306)
at org.apache.accumulo.test.ShellServerIT$TestShell.<init>(ShellServerIT.java:162)
at org.apache.accumulo.test.ShellConfigIT.experimentalPropTest(ShellConfigIT.java:90)
{noformat}
This test failed, appearing to state that the test failed because it could not load the client
configuration file. However, if you actually inspect the stack trace, it points to the following
code:
{code}
if (System.currentTimeMillis() - startTime > 2 * timeout) {
throw new RuntimeException("Failed to connect to zookeeper (" + host + ") within 2x
zookeeper timeout period " + timeout);
}
{code}
In fact, the test failed because it failed to connect to the zookeeper server with 2x the
ZK session timeout. We should improve this try/catch so that it's actually realistically telling
the user what went wrong.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
|