The *trunk branch* has now been fully upgraded to *JDK 17 and JDK 21*. I
have updated *hadoop-qbt-trunk-java17-linux-x86_64* to *push build results
daily*, and we will continue to monitor the outcomes over the next few days.

The following issues and follow-up actions have been identified:

   1.

   After upgrading the *SpotBugs plugin to version 4.9.7*, the verification
   rules have become stricter, resulting in new SpotBugs warnings. We plan to
   start refactoring and fixing these issues *early next week*.
   2.

   *Some modules are reporting Javadoc errors*, which will also be
   addressed *early next week*.
   3.

   The *mvn site build is currently failing*. We will submit a *separate PR*
   to resolve this issue. *Hualong Zhang* has already completed *JDiff and
   hadoop-annotation compatibility updates for JDK 17*. Once his PR is
   merged, the mvn site build is expected to return to normal.

Overall, the mainline compilation upgrade has been successfully completed,
and the next focus will be on improving code quality and stabilizing the
build pipeline.

Best Regards, Shilun Fan

On Wed, Oct 8, 2025 at 3:08 AM Steve Loughran <[email protected]>
wrote:

> On Sat, 4 Oct 2025 at 09:53, slfan1989 <[email protected]> wrote:
>
> > I would like to share the current progress on Hadoop JDK17.
> >
> > 1. Junit5 Upgrade
> >
> > We have completed the migration of unit tests to Junit5 across the
> project
> > and removed Junit4 dependencies wherever possible.
> > In addition, we configured an Import Rule to ensure that Junit4
> references
> > are not reintroduced.
> > However, some Junit4 dependencies still remain because certain
> third-party
> > plugins continue to rely on Junit4 components (
> > see YARN-11872: TestAppCatalogSolrClient has a Junit4 transitive
> > dependency <https://issues.apache.org/jira/browse/YARN-11872>).
> > We will need to wait until these plugins are upgraded before fully
> > removing Junit4.
> >
>
> yeah, that was tough.
>
>
> >
> > 2. Unit Test Issues
> >
> > Several failing unit tests remain, mainly in the YARN module, including
> RM
> > crash tests and other errors.
> > There are also issues reported with the Jesery2 Client (see mailing list
> > thread <https://lists.apache.org/thread/y70j1wqj00rhon4hxjkws6k55514sbfo
> >
> > ).
> > I have set up a complete local environment to run the full test suite and
> > will continue to follow up on these issues with high priority.
> >
> > hadoop-aws and hadoop-azure should be happy now.
>
>
> > 3. JDIFF Issues and Progress
> >
> > JDIFF is a long-standing plugin that has not been updated since JDK8.
> > Thanks to the efforts of Hualong Zhang, JDIFF can now be successfully
> > compiled under JDK17.
> > He also updated the custom annotations in hadoop-annotations, enabling
> > jdiff to generate difference files under JDK17.
> > I assisted in reviewing part of the code changes and consider them
> > reasonable.
> > Hualong is currently on leave and is expected to submit these changes to
> > the community next week.
> >
> > Additionally, we identified missing files in some versions:
> >
> > hadoop-3.4.0 is missing Apache_Hadoop_Common_3.4.0.xml;
> > hadoop-3.4.1 and hadoop-3.4.2 did not upload jdiff comparison files to
> the
> > trunk branch.
> >
> > 4. JDK17 Validation Pipeline
> >
> > With the assistance of Gautham, we have configured a Jenkins JDK17
> > validation pipeline.
> > I will run a full validation on the trunk branch as soon as possible, and
> > if no issues are found,
> > we plan to officially switch the trunk branch build to JDK17 within the
> > next 1–2 weeks.
> >
>
> lovely!
>
> I'm really looking forward to not having to do java8 stuff, though it'll
> take a long time to move away from it, at least as far as bug fixes go.
>
> If we get a feature complete version of 3.4.3 out (JAR updates and more)
> then that can be the official "last 3.4.x you can expect" release other
> than for cves/critical fixes.
>
> Note also I've been working on cloud store packaging. Still WiP but I want
> * all cloud connectors to be in common/lib
> * azure, gcs and s3a *excluding bundle.jar* in by default
> * profile options for the others, and to include bundle.jar
>
> This'll put these on the classpath by default, the way the vendor distros
> do, and avoid the games with stripping bundle-X.Y.jar out of tools/lib
>
>
> https://github.com/apache/hadoop/pull/7980
>

Reply via email to