You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Christopher Tubbs (JIRA)" <ji...@apache.org> on 2016/12/07 22:25:58 UTC

[jira] [Commented] (ACCUMULO-4505) Shell still reads accumulo-site.xml when using Zookeeper CLI options

    [ https://issues.apache.org/jira/browse/ACCUMULO-4505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15730128#comment-15730128 ] 

Christopher Tubbs commented on ACCUMULO-4505:
---------------------------------------------

Thanks for fixing this! The backport to 1.6.6 in the Fedora packaging is working well.

> 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)