You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Nihal Jain (JIRA)" <ji...@apache.org> on 2018/07/09 15:04:00 UTC
[jira] [Comment Edited] (HBASE-19421) branch-1 does not compile
against Hadoop 3.0.0
[ https://issues.apache.org/jira/browse/HBASE-19421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16537040#comment-16537040 ]
Nihal Jain edited comment on HBASE-19421 at 7/9/18 3:03 PM:
------------------------------------------------------------
Hi,
While working on compiling hbase with hadoop-3, I found the following problems:
* Although the code compiles correctly, after importing it in eclipse using the below command, I got the following build problem.
{code:java}
mvn eclipse:eclipse -Dhadoop.profile=3.0 -Dhadoop-three.version=3.0.0-alpha4{code}
!org.apache.hadoop.hbase.rest.filter.GZIPRequestStream.png!
The problem occurs as ServletInputStream is imported from javax.servlet-api-3.1.0.jar (coming from hadoop-commons) rather than servlet-api-2.5-6.1.14.jar
* Few test cases fail:
** org.apache.hadoop.hbase.http.conf.TestConfServlet.testWriteJson() fails due to [MAPREDUCE-5972|https://issues.apache.org/jira/browse/MAPREDUCE-5972]
*Solution:*
{code:java}
- && "programatically".equals(resource)) {
+ && ("programatically".equals(resource) || "programmatically".equals(resource))) {
{code}
{noformat}
junit.framework.AssertionFailedError
at junit.framework.Assert.fail(Assert.java:55)
at junit.framework.Assert.assertTrue(Assert.java:22)
at junit.framework.Assert.assertTrue(Assert.java:31)
at junit.framework.TestCase.assertTrue(TestCase.java:201)
at org.apache.hadoop.hbase.http.conf.TestConfServlet.testWriteJson(TestConfServlet.java:75)
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 junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:252)
at junit.framework.TestSuite.run(TestSuite.java:247)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
{noformat}
** org.apache.hadoop.hbase.thrift.TestMetricsThriftServerSourceFactoryImpl.testCreateThriftOneSource() and org.apache.hadoop.hbase.thrift.TestMetricsThriftServerSourceFactoryImpl.testCreateThriftTwoSource() failed due to:
{noformat}
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.sun.proxy.$Proxy7.<clinit>(Unknown Source)
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.reflect.Proxy.newProxyInstance(Proxy.java:739)
at org.apache.commons.configuration2.builder.fluent.Parameters.createParametersProxy(Parameters.java:294)
at org.apache.commons.configuration2.builder.fluent.Parameters.fileBased(Parameters.java:185)
at org.apache.commons.configuration2.builder.fluent.Configurations.fileParams(Configurations.java:602)
at org.apache.commons.configuration2.builder.fluent.Configurations.fileParams(Configurations.java:638)
at org.apache.commons.configuration2.builder.fluent.Configurations.fileBasedBuilder(Configurations.java:164)
at org.apache.commons.configuration2.builder.fluent.Configurations.propertiesBuilder(Configurations.java:264)
at org.apache.hadoop.metrics2.impl.MetricsConfig.loadFirst(MetricsConfig.java:115)
at org.apache.hadoop.metrics2.impl.MetricsConfig.create(MetricsConfig.java:98)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:478)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:188)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:163)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:62)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:58)
at org.apache.hadoop.hbase.metrics.BaseSourceImpl$DefaultMetricsSystemInitializer.init(BaseSourceImpl.java:51)
at org.apache.hadoop.hbase.metrics.BaseSourceImpl.<init>(BaseSourceImpl.java:112)
at org.apache.hadoop.hbase.metrics.ExceptionTrackingSourceImpl.<init>(ExceptionTrackingSourceImpl.java:42)
at org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceImpl.<init>(MetricsThriftServerSourceImpl.java:59)
at org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceFactoryImpl$FactoryStorage.<init>(MetricsThriftServerSourceFactoryImpl.java:35)
at org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceFactoryImpl$FactoryStorage.<clinit>(MetricsThriftServerSourceFactoryImpl.java:34)
at org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceFactoryImpl.createThriftOneSource(MetricsThriftServerSourceFactoryImpl.java:47)
at org.apache.hadoop.hbase.thrift.TestMetricsThriftServerSourceFactoryImpl.testCreateThriftOneSource(TestMetricsThriftServerSourceFactoryImpl.java:48)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 52 more
{noformat}
*Solution:* Remove the following exclusion from hadoop-3.0 profile
{code:java}
<exclusion>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</exclusion>
{code}
was (Author: nihaljain.cs):
Hi,
While working on compiling hbase with hadoop-3, I found the following problems:
* Although the code compiles correctly, after importing it in eclipse using the below command, I got the following compilation build problem.
{code:java}
mvn eclipse:eclipse -Dhadoop.profile=3.0 -Dhadoop-three.version=3.0.0-alpha4{code}
!org.apache.hadoop.hbase.rest.filter.GZIPRequestStream.png!
The problem occurs as ServletInputStream is imported from javax.servlet-api-3.1.0.jar (coming from hadoop-commons) rather than servlet-api-2.5-6.1.14.jar
* Few test cases fail:
** org.apache.hadoop.hbase.http.conf.TestConfServlet.testWriteJson() fails due to [MAPREDUCE-5972|https://issues.apache.org/jira/browse/MAPREDUCE-5972]
{noformat}
junit.framework.AssertionFailedError
at junit.framework.Assert.fail(Assert.java:55)
at junit.framework.Assert.assertTrue(Assert.java:22)
at junit.framework.Assert.assertTrue(Assert.java:31)
at junit.framework.TestCase.assertTrue(TestCase.java:201)
at org.apache.hadoop.hbase.http.conf.TestConfServlet.testWriteJson(TestConfServlet.java:75)
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 junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:252)
at junit.framework.TestSuite.run(TestSuite.java:247)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
{noformat}
** org.apache.hadoop.hbase.thrift.TestMetricsThriftServerSourceFactoryImpl.testCreateThriftOneSource() and org.apache.hadoop.hbase.thrift.TestMetricsThriftServerSourceFactoryImpl.testCreateThriftTwoSource() failed due to:
{noformat}
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.sun.proxy.$Proxy7.<clinit>(Unknown Source)
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.reflect.Proxy.newProxyInstance(Proxy.java:739)
at org.apache.commons.configuration2.builder.fluent.Parameters.createParametersProxy(Parameters.java:294)
at org.apache.commons.configuration2.builder.fluent.Parameters.fileBased(Parameters.java:185)
at org.apache.commons.configuration2.builder.fluent.Configurations.fileParams(Configurations.java:602)
at org.apache.commons.configuration2.builder.fluent.Configurations.fileParams(Configurations.java:638)
at org.apache.commons.configuration2.builder.fluent.Configurations.fileBasedBuilder(Configurations.java:164)
at org.apache.commons.configuration2.builder.fluent.Configurations.propertiesBuilder(Configurations.java:264)
at org.apache.hadoop.metrics2.impl.MetricsConfig.loadFirst(MetricsConfig.java:115)
at org.apache.hadoop.metrics2.impl.MetricsConfig.create(MetricsConfig.java:98)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:478)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:188)
at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:163)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:62)
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:58)
at org.apache.hadoop.hbase.metrics.BaseSourceImpl$DefaultMetricsSystemInitializer.init(BaseSourceImpl.java:51)
at org.apache.hadoop.hbase.metrics.BaseSourceImpl.<init>(BaseSourceImpl.java:112)
at org.apache.hadoop.hbase.metrics.ExceptionTrackingSourceImpl.<init>(ExceptionTrackingSourceImpl.java:42)
at org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceImpl.<init>(MetricsThriftServerSourceImpl.java:59)
at org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceFactoryImpl$FactoryStorage.<init>(MetricsThriftServerSourceFactoryImpl.java:35)
at org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceFactoryImpl$FactoryStorage.<clinit>(MetricsThriftServerSourceFactoryImpl.java:34)
at org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceFactoryImpl.createThriftOneSource(MetricsThriftServerSourceFactoryImpl.java:47)
at org.apache.hadoop.hbase.thrift.TestMetricsThriftServerSourceFactoryImpl.testCreateThriftOneSource(TestMetricsThriftServerSourceFactoryImpl.java:48)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 52 more
{noformat}
> branch-1 does not compile against Hadoop 3.0.0
> ----------------------------------------------
>
> Key: HBASE-19421
> URL: https://issues.apache.org/jira/browse/HBASE-19421
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.4.0
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Priority: Major
> Fix For: 1.4.0
>
> Attachments: HBASE-19421-branch-1.patch, org.apache.hadoop.hbase.rest.filter.GZIPRequestStream.png
>
>
> Tested with {{mvn clean install -Dhadoop.profile=3.0 -Dhadoop-three.version=3.0.0-alpha4}}
> {noformat}
> [ERROR] /Users/apurtell/src/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java:[37,32] package org.apache.hadoop.mapred does not exist
> [ERROR] /Users/apurtell/src/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java:[38,35] package org.apache.hadoop.mapreduce does not exist
> [ERROR] /Users/apurtell/src/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java:[117,66] cannot find symbol
> [ERROR] symbol: class Job
> [ERROR] location: class org.apache.hadoop.hbase.security.User
> [ERROR] /Users/apurtell/src/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java:[129,46] cannot find symbol
> [ERROR] symbol: class JobConf
> [ERROR] location: class org.apache.hadoop.hbase.security.User
> [ERROR] /Users/apurtell/src/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java:[344,59] cannot find symbol
> [ERROR] symbol: class Job
> [ERROR] location: class org.apache.hadoop.hbase.security.User.SecureHadoopUser
> [ERROR] /Users/apurtell/src/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java:[369,39] cannot find symbol
> [ERROR] symbol: class JobConf
> [ERROR] location: class org.apache.hadoop.hbase.security.User.SecureHadoopUser
> [ERROR] /Users/apurtell/src/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java:[351,17] cannot find symbol
> [ERROR] symbol: class Job
> [ERROR] location: class org.apache.hadoop.hbase.security.User.SecureHadoopUser
> [ERROR] /Users/apurtell/src/hbase/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java:[375,25] cannot find symbol
> [ERROR] symbol: class JobConf
> [ERROR] location: class org.apache.hadoop.hbase.security.User.SecureHadoopUser
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)