On Wed, Dec 9, 2020 at 5:11 PM Andrew Purtell <andrew.purt...@gmail.com>
wrote:

> Given the nature of this issue I’d ask you to try Duo’s suggestion and if
> an earlier version of Hadoop 3 succeeds that this be sufficient this time
> around.
>

The only version of Hadoop3 we've supported for JDK11 is Hadoop3.2. Hadoop3
version specified in the pom has not changed since 2.3.0. I can try the
local build against the newer Hadoop 3.3.0, but that doesn't change this
being a regression.

It also occurs to me that perhaps classpath order is at play here, and
there are different versions of maven in different environments. I haven't
investigated this yet.

All,
>
> I will start a DISCUSS thread as follow up as to what should be considered
> required and veto worthy for a RC and what should not, with regard to
> optional build profiles. In my opinion ‘required‘ should be defined as what
> is enabled by default in the release build, and ‘optional’ is everything
> else until we agree to specifically include one or more optional build
> profiles to the required list.
>

To the best of my knowledge, JDK11 is not an optional release profile.
Preliminary support for JDK11 was introduced in 2.3 as a supported
configuration, and both our book and our build infrastructure were extended
accordingly. My understanding is that this discussion was settled in the
lead up to 2.3.0.

https://hbase.apache.org/book.html#java
https://hbase.apache.org/book.html#hadoop

> On Dec 9, 2020, at 4:31 PM, 张铎 <palomino...@gmail.com> wrote:
> >
> > OK, I think the problem is a bug in jetty 9.3, the JavaVersion
> > implementation for 9.3 and 9.4 are completely different, there is no
> > problem to parse 11.0.9.1 for jetty 9.4 but for jetty 9.3, it can only
> pass
> > version with two dots, i.e, 11.0.9.
> >
> > I think you could add -Dhadoop-three.version to set the hadoop 3 version
> > explicitly to a newer version which uses jetty 9.4 to solve the problem,
> > IIRC all the newest release for each active release line has upgrade to
> > jetty 9.4 and that's why we need to shade jetty as jetty 9.3 and 9.4 are
> > incompatible.
> >
> > Thanks.
> >
> > 张铎(Duo Zhang) <palomino...@gmail.com> 于2020年12月10日周四 上午8:21写道:
> >
> >> On nightly jdk11 build the jdk version is
> >>
> >> AdoptOpenJDK-11.0.6+10
> >>
> >> Andrew Purtell <apurt...@apache.org> 于2020年12月10日周四 上午7:21写道:
> >>
> >>> Let me rephrase.
> >>>
> >>> I'm all for testing the optional configurations. I'm less supportive of
> >>> vetoing releases when an optional configuration has some issue due to a
> >>> third party component. I would like to see us veto only on the required
> >>> configurations, and otherwise file JIRAs to fix up the nits on the
> >>> optional
> >>> ones.
> >>>
> >>>
> >>> On Wed, Dec 9, 2020 at 3:19 PM Andrew Purtell <apurt...@apache.org>
> >>> wrote:
> >>>
> >>>>> parseJDK9:71, JavaVersion (org.eclipse.jetty.util)
> >>>>
> >>>> So unless I am mistaken, some Jetty utility class is not able to parse
> >>> the
> >>>> version string of your particular JDK/JRE.
> >>>>
> >>>> We can try to downgrade Jetty but I am not sure in general how we are
> >>>> supposed to take on the risk of third party dependencies doing the
> wrong
> >>>> thing in an optional configuration. I for one do not want to deal
> with a
> >>>> combinatorial explosion of transitive dependencies when releasing.
> >>>>
> >>>>
> >>>> On Wed, Dec 9, 2020 at 2:41 PM Nick Dimiduk <ndimi...@apache.org>
> >>> wrote:
> >>>>
> >>>>> This is coming out of Jetty + Hadoop. This build has a regression in
> >>> our
> >>>>> JDK11 support. Or perhaps there's a regression in the upstream Hadoop
> >>>>> against which JDK11 builds.
> >>>>>
> >>>>> I'm afraid I must vote -1 until we can sort out the issue. I'd
> >>> appreciate
> >>>>> it if someone else can attempt to repro, help ensure it's not just
> me.
> >>>>>
> >>>>> Thanks,
> >>>>> Nick
> >>>>>
> >>>>> (Apologies for the crude stack trace; this is copied out of an
> attached
> >>>>> debugger)
> >>>>>
> >>>>> parseJDK9:71, JavaVersion (org.eclipse.jetty.util)
> >>>>> parse:49, JavaVersion (org.eclipse.jetty.util)
> >>>>> <clinit>:43, JavaVersion (org.eclipse.jetty.util)
> >>>>> findAndFilterContainerPaths:185, WebInfConfiguration
> >>>>> (org.eclipse.jetty.webapp)
> >>>>> preConfigure:155, WebInfConfiguration (org.eclipse.jetty.webapp)
> >>>>> preConfigure:485, WebAppContext (org.eclipse.jetty.webapp)
> >>>>> doStart:521, WebAppContext (org.eclipse.jetty.webapp)
> >>>>> start:68, AbstractLifeCycle (org.eclipse.jetty.util.component)
> >>>>> start:131, ContainerLifeCycle (org.eclipse.jetty.util.component)
> >>>>> doStart:113, ContainerLifeCycle (org.eclipse.jetty.util.component)
> >>>>> doStart:61, AbstractHandler (org.eclipse.jetty.server.handler)
> >>>>> start:68, AbstractLifeCycle (org.eclipse.jetty.util.component)
> >>>>> start:131, ContainerLifeCycle (org.eclipse.jetty.util.component)
> >>>>> start:427, Server (org.eclipse.jetty.server)
> >>>>> doStart:105, ContainerLifeCycle (org.eclipse.jetty.util.component)
> >>>>> doStart:61, AbstractHandler (org.eclipse.jetty.server.handler)
> >>>>> doStart:394, Server (org.eclipse.jetty.server)
> >>>>> start:68, AbstractLifeCycle (org.eclipse.jetty.util.component)
> >>>>> start:1140, HttpServer2 (org.apache.hadoop.http)
> >>>>> start:177, NameNodeHttpServer
> (org.apache.hadoop.hdfs.server.namenode)
> >>>>> startHttpServer:872, NameNode
> (org.apache.hadoop.hdfs.server.namenode)
> >>>>> initialize:694, NameNode (org.apache.hadoop.hdfs.server.namenode)
> >>>>> <init>:940, NameNode (org.apache.hadoop.hdfs.server.namenode)
> >>>>> <init>:913, NameNode (org.apache.hadoop.hdfs.server.namenode)
> >>>>> createNameNode:1646, NameNode
> (org.apache.hadoop.hdfs.server.namenode)
> >>>>> createNameNode:1314, MiniDFSCluster (org.apache.hadoop.hdfs)
> >>>>> configureNameService:1083, MiniDFSCluster (org.apache.hadoop.hdfs)
> >>>>> createNameNodesAndSetConf:958, MiniDFSCluster
> (org.apache.hadoop.hdfs)
> >>>>> initMiniDFSCluster:890, MiniDFSCluster (org.apache.hadoop.hdfs)
> >>>>> <init>:518, MiniDFSCluster (org.apache.hadoop.hdfs)
> >>>>> build:477, MiniDFSCluster$Builder (org.apache.hadoop.hdfs)
> >>>>> startMiniDFSCluster:108, AsyncFSTestBase
> >>>>> (org.apache.hadoop.hbase.io.asyncfs)
> >>>>> setUp:87, TestFanOutOneBlockAsyncDFSOutput
> >>>>> (org.apache.hadoop.hbase.io.asyncfs)
> >>>>> invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
> >>>>> invoke:62, NativeMethodAccessorImpl (jdk.internal.reflect)
> >>>>> invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
> >>>>> invoke:566, Method (java.lang.reflect)
> >>>>> runReflectiveCall:59, FrameworkMethod$1 (org.junit.runners.model)
> >>>>> run:12, ReflectiveCallable (org.junit.internal.runners.model)
> >>>>> invokeExplosively:56, FrameworkMethod (org.junit.runners.model)
> >>>>> invokeMethod:33, RunBefores (org.junit.internal.runners.statements)
> >>>>> evaluate:24, RunBefores (org.junit.internal.runners.statements)
> >>>>> evaluate:27, RunAfters (org.junit.internal.runners.statements)
> >>>>> evaluate:38, SystemExitRule$1 (org.apache.hadoop.hbase)
> >>>>> call:288, FailOnTimeout$CallableStatement
> >>>>> (org.junit.internal.runners.statements)
> >>>>> call:282, FailOnTimeout$CallableStatement
> >>>>> (org.junit.internal.runners.statements)
> >>>>> run:264, FutureTask (java.util.concurrent)
> >>>>> run:834, Thread (java.lang)
> >>>>>
> >>>>> On Wed, Dec 9, 2020 at 2:08 PM Nick Dimiduk <ndimi...@apache.org>
> >>> wrote:
> >>>>>
> >>>>>> On Mon, Dec 7, 2020 at 1:51 PM Nick Dimiduk <ndimi...@apache.org>
> >>>>> wrote:
> >>>>>>
> >>>>>>> Has anyone successfully built/run this RC with JDK11 and Hadoop3
> >>>>> profile?
> >>>>>>> I'm seeing test failures locally in the hbase-asyncfs module.
> >>>>>>> Reproducible with:
> >>>>>>>
> >>>>>>> $
> >>>>>>>
> >>>>>
> >>>
> JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
> >>>>>>> mvn clean install -Dhadoop.profile=3.0
> >>>>>>>
> >>>>>
> >>>
> -Dtest=org.apache.hadoop.hbase.io.asyncfs.TestFanOutOneBlockAsyncDFSOutput
> >>>>>>> ...
> >>>>>>> [INFO] Running
> >>>>>>> org.apache.hadoop.hbase.io
> .asyncfs.TestFanOutOneBlockAsyncDFSOutput
> >>>>>>>
> >>>>>>>
> >>>>>>> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time
> >>> elapsed:
> >>>>>>> 1.785 s <<< FAILURE! - in
> >>>>>>> org.apache.hadoop.hbase.io
> .asyncfs.TestFanOutOneBlockAsyncDFSOutput
> >>>>>>>
> >>>>>>> [ERROR]
> >>>>>>> org.apache.hadoop.hbase.io
> .asyncfs.TestFanOutOneBlockAsyncDFSOutput
> >>>>> Time
> >>>>>>> elapsed: 1.775 s  <<< ERROR!
> >>>>>>>
> >>>>>>> java.lang.ExceptionInInitializerError
> >>>>>>>
> >>>>>>>
> >>>>>>>        at
> >>>>>>> org.apache.hadoop.hbase.io
> >>>>>
> >>>
> .asyncfs.TestFanOutOneBlockAsyncDFSOutput.setUp(TestFanOutOneBlockAsyncDFSOutput.java:87)
> >>>>>>>
> >>>>>>> Caused by: java.lang.IllegalArgumentException: Invalid Java version
> >>>>>>> 11.0.9.1
> >>>>>>>
> >>>>>>>        at
> >>>>>>> org.apache.hadoop.hbase.io
> >>>>>
> >>>
> .asyncfs.TestFanOutOneBlockAsyncDFSOutput.setUp(TestFanOutOneBlockAsyncDFSOutput.java:87)
> >>>>>>>
> >>>>>>
> >>>>>> This failure is not isolated to macOS. I ran this build on an Ubuntu
> >>> VM
> >>>>>> with the same AdoptOpenJDK 11.0.9.1. Why don't we see this in
> >>> Jenkins?
> >>>>>>
> >>>>>> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time
> >>> elapsed:
> >>>>>> 0.011 s <<< FAILURE! - in
> >>>>>> org.apache.hadoop.hbase.regionserver.wal.TestAsyncProtobufLog
> >>>>>>
> >>>>>> [ERROR]
> org.apache.hadoop.hbase.regionserver.wal.TestAsyncProtobufLog
> >>>>>> Time elapsed: 0.003 s  <<< ERROR!
> >>>>>>
> >>>>>> java.lang.ExceptionInInitializerError
> >>>>>>
> >>>>>>        at
> >>>>>>
> >>>>>
> >>>
> org.apache.hadoop.hbase.regionserver.wal.TestAsyncProtobufLog.setUpBeforeClass(TestAsyncProtobufLog.java:56)
> >>>>>>
> >>>>>>        Caused by: java.lang.IllegalArgumentException: Invalid Java
> >>>>> version
> >>>>>> 11.0.9.1
> >>>>>>        at
> >>>>>>
> >>>>>
> >>>
> org.apache.hadoop.hbase.regionserver.wal.TestAsyncProtobufLog.setUpBeforeClass(TestAsyncProtobufLog.java:56)
> >>>>>>
> >>>>>> On Thu, Dec 3, 2020 at 4:05 PM Andrew Purtell <apurt...@apache.org>
> >>>>> wrote:
> >>>>>>>
> >>>>>>>> Please vote on this Apache hbase release candidate, hbase-2.4.0RC1
> >>>>>>>>
> >>>>>>>> The VOTE will remain open for at least 72 hours.
> >>>>>>>>
> >>>>>>>> [ ] +1 Release this package as Apache hbase 2.4.0
> >>>>>>>> [ ] -1 Do not release this package because ...
> >>>>>>>>
> >>>>>>>> The tag to be voted on is 2.4.0RC1:
> >>>>>>>>
> >>>>>>>>    https://github.com/apache/hbase/tree/2.4.0RC1
> >>>>>>>>
> >>>>>>>> The release files, including signatures, digests, as well as
> >>>>> CHANGES.md
> >>>>>>>> and RELEASENOTES.md included in this RC can be found at:
> >>>>>>>>
> >>>>>>>>    https://dist.apache.org/repos/dist/dev/hbase/2.4.0RC1/
> >>>>>>>>
> >>>>>>>> Customarily Maven artifacts would be available in a staging
> >>>>> repository.
> >>>>>>>> Unfortunately I was forced to terminate the Maven deploy step
> after
> >>>>>>>> the upload ran for more than four hours and my build equipment
> >>>>>>>> needed to be relocated, with loss of network connectivity. This RC
> >>> has
> >>>>>>>> been delayed long enough. A temporary Maven repository is not a
> >>>>>>>> requirement for a vote. I will retry Maven deploy tomorrow. I can
> >>>>>>>> promise the artifacts for this RC will be staged in Apache Nexus
> >>> and
> >>>>>>>> ready for release well ahead of the earliest possible time this
> >>> vote
> >>>>>>>> can complete.
> >>>>>>>>
> >>>>>>>> Artifacts were signed with the apurt...@apache.org key which can
> >>> be
> >>>>>>>> found
> >>>>>>>> in:
> >>>>>>>>
> >>>>>>>>    https://dist.apache.org/repos/dist/release/hbase/KEYS
> >>>>>>>>
> >>>>>>>> The API compatibility report for this RC can be found at:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>
> >>>
> https://dist.apache.org/repos/dist/dev/hbase/2.4.0RC1/api_compare_2.4.0RC1_to_2.3.0.html
> >>>>>>>>
> >>>>>>>> The changes are mostly added methods, which conform to the
> >>>>> compatibility
> >>>>>>>> guidelines for a new minor release. There is one change to the
> >>> public
> >>>>>>>> Region interface that alters the return type of a method. This is
> >>>>>>>> equivalent to a removal then addition and can be a binary
> >>>>> compatibility
> >>>>>>>> problem. However to your RM's eye the change looks intentional and
> >>> is
> >>>>>>>> part of an API improvement project, and a compatibility method is
> >>> not
> >>>>>>>> possible here because Java doesn't consider return type when
> >>> deciding
> >>>>> if
> >>>>>>>> one method signature duplicates another.
> >>>>>>>>
> >>>>>>>> To learn more about Apache HBase, please see
> >>>>>>>>
> >>>>>>>>    http://hbase.apache.org/
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>> Your HBase Release Manager
> >>>>>>>>
> >>>>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Best regards,
> >>>> Andrew
> >>>>
> >>>> Words like orphans lost among the crosstalk, meaning torn from truth's
> >>>> decrepit hands
> >>>>   - A23, Crosstalk
> >>>>
> >>>
> >>>
> >>> --
> >>> Best regards,
> >>> Andrew
> >>>
> >>> Words like orphans lost among the crosstalk, meaning torn from truth's
> >>> decrepit hands
> >>>   - A23, Crosstalk
> >>>
> >>
>

Reply via email to