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 20:42:11 UTC

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

     [ https://issues.apache.org/jira/browse/ACCUMULO-4369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Josh Elser resolved ACCUMULO-4369.
----------------------------------
    Resolution: Fixed

> 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
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> {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)