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

Aleksandr Shulman commented on HBASE-10073:
-------------------------------------------

I think the problem runs a little deeper. If there are two versions of slf4j 
(or any dependency for that matter) on the classpath, then something will be 
affected by a resulting incompatibility. Because of changes in the ordering of 
the classpath in 0.96, I had to make some changes to my own setup scripts. Both 
configurations one could consider reasonable or representative of what a common 
user would do. 

Before my change, I reported this issue.
After the change, hbase zkcli works fine, but there is a similar error now when 
starting master (much worse!). The revert you are suggesting may fix it though. 
I'll test it.

Here's the master startup error:
{code}21:53:54  2013-12-05 21:53:40,596 INFO  [main] impl.MetricsSourceAdapter: 
MBean for source jvm registered.
21:53:54  2013-12-05 21:53:40,604 INFO  [main] impl.MetricsSourceAdapter: MBean 
for source IPC,sub=IPC registered.
21:53:54  2013-12-05 21:53:41,250 INFO  [main] impl.MetricsSourceAdapter: MBean 
for source ugi registered.
21:53:54  2013-12-05 21:53:41,628 INFO  [main] master.HMaster: 
hbase.rootdir=hdfs://snapshot-tarball-vm-6.ent.cloudera.com:8020/hbase, 
hbase.cluster.distributed=true
21:53:54  2013-12-05 21:53:41,758 ERROR [main] master.HMasterCommandLine: 
Master exiting
21:53:54  java.lang.RuntimeException: Failed construction of Master: class 
org.apache.hadoop.hbase.master.HMaster
21:53:54        at 
org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2779)
21:53:54        at 
org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:184)
21:53:54        at 
org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:134)
21:53:54        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
21:53:54        at 
org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
21:53:54        at 
org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2793)
21:53:54  Caused by: java.lang.IllegalAccessError: tried to access field 
org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
21:53:54        at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
21:53:54        at org.apache.zookeeper.ZooKeeper.<clinit>(ZooKeeper.java:94)
21:53:54        at 
org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.<init>(RecoverableZooKeeper.java:112)
21:53:54        at 
org.apache.hadoop.hbase.zookeeper.ZKUtil.connect(ZKUtil.java:132)
21:53:54        at 
org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:165)
21:53:54        at 
org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:472)
21:53:54        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
21:53:54        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
21:53:54        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
21:53:54        at 
java.lang.reflect.Constructor.newInstance(Constructor.java:526)
21:53:54        at 
org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2774)
21:53:54        ... 5 more{code}

> [Hadoop1]: hbase zkcli broken due to slf4j incompatibility
> ----------------------------------------------------------
>
>                 Key: HBASE-10073
>                 URL: https://issues.apache.org/jira/browse/HBASE-10073
>             Project: HBase
>          Issue Type: Bug
>          Components: Zookeeper
>    Affects Versions: 0.96.1
>         Environment: Centos6, sun-jdk-64bit-1.7.0.25
>            Reporter: Aleksandr Shulman
>            Assignee: Andrew Purtell
>             Fix For: 0.98.0, 0.96.1, 0.99.0
>
>         Attachments: 10073-0.96.patch
>
>
> Observed behavior:
> In my automation, I have a call to hbase zkcli. That call recently broke with 
> this checkin: 
> https://github.com/apache/hbase/commit/5af0a60efed91ac2084f25f13edb21db0f510e7c
> The error that is reported is:
> {code}++ ./hbase zkcli
> 11:19:58  Warning: $HADOOP_HOME is deprecated.
> 11:19:58  
> 11:20:00  Exception in thread "main" java.lang.IllegalAccessError: tried to 
> access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class 
> org.slf4j.LoggerFactory
> 11:20:00      at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
> 11:20:00      at 
> org.apache.zookeeper.ZooKeeperMain.<clinit>(ZooKeeperMain.java:50)
> 11:20:00      at 
> org.apache.hadoop.hbase.zookeeper.ZooKeeperMainServer.main(ZooKeeperMainServer.java:78)
> 11:20:00  Build step 'Execute shell' marked build as failure{code}
> That said, this checkin is perfectly valid as each component should be 
> allowed to specify its own dependencies.
> The issue is a deeper one of dependency mismatches.
> Note: This issue only affects hadoop1, not hadoop2. It also appears in trunk, 
> where there is a similar checkin, but since trunk is not required to work 
> against hadoop1, this is not an issue for trunk.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to