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