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

Michael Miller resolved ACCUMULO-4505.
--------------------------------------
    Resolution: Fixed

> Shell still reads accumulo-site.xml when using Zookeeper CLI options
> --------------------------------------------------------------------
>
>                 Key: ACCUMULO-4505
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4505
>             Project: Accumulo
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 1.6.6, 1.7.2, 1.8.0
>            Reporter: Michael Miller
>            Assignee: Michael Miller
>            Priority: Minor
>             Fix For: 1.7.3, 1.8.1, 2.0.0
>
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> The Shell will try to read Zookeeper values from accumulo-site.xml whether it 
> has to or not. Using the Zookeeper CLI options (-z or -zi and zh), the user 
> provides enough information that the shell doesn't need to read the values 
> from accumulo-site.xml. This can be reproduced easily by starting accumulo 
> and then running these commands (from accumulo home):
> chmod 000 ./conf/accumulo-site.xml
> ./bin/accumulo shell -u root -z instance17 localhost:2181
> This will produce a FileNotFoundException (Permission denied), with different 
> stacktrace depending on the version.
> 1.6.6 Stacktrace:
> {code:java}
> 2016-10-28 14:49:57,584 [conf.Configuration] FATAL: error parsing conf 
> accumulo-site.xml
> java.io.FileNotFoundException: 
> /local/mpmill4/uno/install/accumulo-1.6.6/conf/accumulo-site.xml (Permission 
> denied)
>       at java.io.FileInputStream.open0(Native Method)
>       at java.io.FileInputStream.open(FileInputStream.java:195)
>       at java.io.FileInputStream.<init>(FileInputStream.java:138)
>       at java.io.FileInputStream.<init>(FileInputStream.java:93)
>       at 
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
>       at 
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
>       at java.net.URL.openStream(URL.java:1045)
>       at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2468)
>       at 
> org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2539)
>       at 
> org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2502)
>       at 
> org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2405)
>       at 
> org.apache.hadoop.conf.Configuration.iterator(Configuration.java:2451)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.getProperties(SiteConfiguration.java:101)
>       at 
> org.apache.accumulo.core.conf.AccumuloConfiguration.iterator(AccumuloConfiguration.java:69)
>       at 
> org.apache.accumulo.core.conf.ConfigSanityCheck.validate(ConfigSanityCheck.java:42)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.getInstance(SiteConfiguration.java:49)
>       at 
> org.apache.accumulo.core.util.shell.ShellOptionsJC.getClientConfiguration(ShellOptionsJC.java:294)
>       at org.apache.accumulo.core.util.shell.Shell.setInstance(Shell.java:430)
>       at org.apache.accumulo.core.util.shell.Shell.config(Shell.java:287)
>       at org.apache.accumulo.core.util.shell.Shell.main(Shell.java:544)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at org.apache.accumulo.start.Main$1.run(Main.java:141)
>       at java.lang.Thread.run(Thread.java:745)
> Thread "shell" died Unable to load client config from null
> java.lang.IllegalArgumentException: Unable to load client config from null
>       at org.apache.accumulo.core.util.shell.Shell.setInstance(Shell.java:432)
>       at org.apache.accumulo.core.util.shell.Shell.config(Shell.java:287)
>       at org.apache.accumulo.core.util.shell.Shell.main(Shell.java:544)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at org.apache.accumulo.start.Main$1.run(Main.java:141)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: 
> /local/mpmill4/uno/install/accumulo-1.6.6/conf/accumulo-site.xml (Permission 
> denied)
>       at 
> org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2639)
>       at 
> org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2502)
>       at 
> org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2405)
>       at 
> org.apache.hadoop.conf.Configuration.iterator(Configuration.java:2451)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.getProperties(SiteConfiguration.java:101)
>       at 
> org.apache.accumulo.core.conf.AccumuloConfiguration.iterator(AccumuloConfiguration.java:69)
>       at 
> org.apache.accumulo.core.conf.ConfigSanityCheck.validate(ConfigSanityCheck.java:42)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.getInstance(SiteConfiguration.java:49)
>       at 
> org.apache.accumulo.core.util.shell.ShellOptionsJC.getClientConfiguration(ShellOptionsJC.java:294)
>       at org.apache.accumulo.core.util.shell.Shell.setInstance(Shell.java:430)
>       ... 8 more
> Caused by: java.io.FileNotFoundException: 
> /local/mpmill4/uno/install/accumulo-1.6.6/conf/accumulo-site.xml (Permission 
> denied)
>       at java.io.FileInputStream.open0(Native Method)
>       at java.io.FileInputStream.open(FileInputStream.java:195)
>       at java.io.FileInputStream.<init>(FileInputStream.java:138)
>       at java.io.FileInputStream.<init>(FileInputStream.java:93)
>       at 
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
>       at 
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
>       at java.net.URL.openStream(URL.java:1045)
>       at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2468)
>       at 
> org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2539)
>       ... 17 more
> 1.7.3 & 1.8.0 stacktrace:
> 2016-10-28 15:01:22,862 [conf.Configuration] FATAL: error parsing conf 
> accumulo-site.xml
> java.io.FileNotFoundException: 
> /local/mpmill4/uno/install/accumulo-1.7.3-SNAPSHOT/conf/accumulo-site.xml 
> (Permission denied)
>       at java.io.FileInputStream.open0(Native Method)
>       at java.io.FileInputStream.open(FileInputStream.java:195)
>       at java.io.FileInputStream.<init>(FileInputStream.java:138)
>       at java.io.FileInputStream.<init>(FileInputStream.java:93)
>       at 
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
>       at 
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
>       at java.net.URL.openStream(URL.java:1045)
>       at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2468)
>       at 
> org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2539)
>       at 
> org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2502)
>       at 
> org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2405)
>       at org.apache.hadoop.conf.Configuration.size(Configuration.java:2427)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.<init>(SiteConfiguration.java:61)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.getInstance(SiteConfiguration.java:87)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.getInstance(SiteConfiguration.java:94)
>       at 
> org.apache.accumulo.server.zookeeper.ZooReaderWriter.getInstance(ZooReaderWriter.java:36)
>       at 
> org.apache.accumulo.server.init.Initialize.<clinit>(Initialize.java:130)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>       at java.lang.Class.newInstance(Class.java:442)
>       at 
> java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
>       at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>       at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>       at org.apache.accumulo.start.Main.checkDuplicates(Main.java:223)
>       at org.apache.accumulo.start.Main.getExecutables(Main.java:215)
>       at org.apache.accumulo.start.Main.main(Main.java:78)
> 2016-10-28 15:01:22,864 [start.Main] ERROR: Uncaught exception
> java.util.ServiceConfigurationError: 
> org.apache.accumulo.start.spi.KeywordExecutable: Provider 
> org.apache.accumulo.server.init.Initialize could not be instantiated
>       at java.util.ServiceLoader.fail(ServiceLoader.java:232)
>       at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
>       at 
> java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
>       at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>       at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>       at org.apache.accumulo.start.Main.checkDuplicates(Main.java:223)
>       at org.apache.accumulo.start.Main.getExecutables(Main.java:215)
>       at org.apache.accumulo.start.Main.main(Main.java:78)
> Caused by: java.lang.ExceptionInInitializerError
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>       at java.lang.Class.newInstance(Class.java:442)
>       at 
> java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
>       ... 5 more
> Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: 
> /local/mpmill4/uno/install/accumulo-1.7.3-SNAPSHOT/conf/accumulo-site.xml 
> (Permission denied)
>       at 
> org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2639)
>       at 
> org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2502)
>       at 
> org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2405)
>       at org.apache.hadoop.conf.Configuration.size(Configuration.java:2427)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.<init>(SiteConfiguration.java:61)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.getInstance(SiteConfiguration.java:87)
>       at 
> org.apache.accumulo.core.conf.SiteConfiguration.getInstance(SiteConfiguration.java:94)
>       at 
> org.apache.accumulo.server.zookeeper.ZooReaderWriter.getInstance(ZooReaderWriter.java:36)
>       at 
> org.apache.accumulo.server.init.Initialize.<clinit>(Initialize.java:130)
>       ... 11 more
> Caused by: java.io.FileNotFoundException: 
> /local/mpmill4/uno/install/accumulo-1.7.3-SNAPSHOT/conf/accumulo-site.xml 
> (Permission denied)
>       at java.io.FileInputStream.open0(Native Method)
>       at java.io.FileInputStream.open(FileInputStream.java:195)
>       at java.io.FileInputStream.<init>(FileInputStream.java:138)
>       at java.io.FileInputStream.<init>(FileInputStream.java:93)
>       at 
> sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
>       at 
> sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
>       at java.net.URL.openStream(URL.java:1045)
>       at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2468)
>       at 
> org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2539)
>       ... 19 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to