accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-4600) Shell does not fall back to accumulo-site.xml when on classpath
Date Wed, 08 Mar 2017 16:24:38 GMT


Christopher Tubbs commented on ACCUMULO-4600:

I agree. Clients don't need to know where instance volumes are, in general. Unfortunately,
in this case, that's exactly what makes the shell different.

I think the problem is in {{Shell.getZooInstance(...)}}. There, it is trying to read the instance
ID from HDFS, but it's using the client config to determine the volumes to inspect, rather
than the site config. In {{ShellOptionsJC}}, we handle a similar case by wrapping the client
config with a {{SiteConfiguration}} so we can fall back to the ZK hosts in the site file when
its missing from the {{ClientConfiguration}}, but we're not doing that here for the fallback
volumes when the instance name is missing from the {{ClientConfiguration}} so we can get the

> Shell does not fall back to accumulo-site.xml when on classpath
> ---------------------------------------------------------------
>                 Key: ACCUMULO-4600
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 1.7.3
>            Reporter: Josh Elser
>            Priority: Critical
> When inspecting 1.7.3-rc1 for the VOTE, I did the following steps:
> * Unpack bin-tarball
> * Copy 3gb native example confs
> * Set {{instance.volumes}} in accumulo-site.xml to {{hdfs://localhost:8020/accumulo173rc1}}
> * {{export ACCUMULO_HOME="$(pwd)"}}
> * {{./bin/accumulo init}}
> * {{./bin/}}
> * {{./bin/accumulo shell -u root}}
> The shell failed to connect stating that no tservers were running. By turning on the
debug option to the shell, I could see that the wrong HDFS directory was being used to find
the Accumulo instance ID, {{/accumulo}} instead of {{/accumulo173rc1}}.
> This appears to be because of {{ClientContext#convertClientConfig(Configuration)}} and
 {{Shell#getZooInstance(String, String, ClientConfiguration}}. The client configuration is
empty, therefore, all values end up being pulled from the {{DefaultConfiguration}} instance
instead of the accumulo-site.xml which is on the classpath.

This message was sent by Atlassian JIRA

View raw message