[ https://issues.apache.org/jira/browse/ACCUMULO-4600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15901504#comment-15901504 ]
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 instanceID. > Shell does not fall back to accumulo-site.xml when on classpath > --------------------------------------------------------------- > > Key: ACCUMULO-4600 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4600 > 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/start-all.sh}} > * {{./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 (v6.3.15#6346)