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

Appy commented on HBASE-18943:
------------------------------

So here's what's going on:

When running with hadoop2, we get the class via:
hbase-server --> hadoop-common --> org.mortbay.jetty:jetty:6.1.26
Since we don't use mortbay, and don't exclude it either, hadoop sneaks it's own 
jetty in.

But in 3.0, hadoop had also switched to org.eclipse.jetty:jetty-server. But 
since we have been using it, we have explicitly specified a version for it. 
Maven overrides hadoop's version (9.3.11.v20160721) with our version 
(9.4.6.v20170531).
--------
Not just hbase-server, but hbase-rest and hbase-thrift also used jetty. And 
there are quite a few classes, ~15, wrapping all will get ugly. Let's shade in 
[hbase-thirdparty|https://github.com/apache/hbase-thirdparty].
 [~stack] Isn't that the purpose you started the third-party project?

> Cannot start mini dfs cluster using hadoop-3 in test due to NoSuchMethodError 
> in jetty 
> ---------------------------------------------------------------------------------------
>
>                 Key: HBASE-18943
>                 URL: https://issues.apache.org/jira/browse/HBASE-18943
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Priority: Blocker
>             Fix For: 2.0.0-beta-1
>
>
> When starting mini dfs cluster against hadoop-3:
> {code}
>       dfsCluster = startMiniDFSCluster(numDataNodes, dataNodeHosts);
> {code}
> The above call would end up with:
> {code}
> java.lang.NoSuchMethodError: 
> org.eclipse.jetty.server.session.SessionHandler.getSessionManager()Lorg/eclipse/jetty/server/SessionManager;
>   at org.apache.hadoop.hbase.client.TestHCM.setUpBeforeClass(TestHCM.java:251)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to