You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2016/07/11 19:05:11 UTC

[jira] [Created] (ACCUMULO-4369) Poor exception propagation in Shell#setInstance()

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)