Hi Shilun,
Thanks very much for your great work and bringing up this discussion.

>> Ongoing Support for the Hadoop 3.4 Branch

>It’s not just 3.4 — we currently have active release lines for 2.10,
>3.2, and 3.3 as well. The officially designated EOL release lines are
>listed here [1]. Personally, I think it’s time we consider marking 3.2
>and 3.3 as EOL. However, I would be cautious about doing the same for
>3.4 immediately after the 3.5.0 release.

The current active release lines are 2.10, 3.3 and 3.4[1]. And IIRC, 2.10.2
will be the last version of release line 2.10. If we consider push 3.3 as EOL,
there will be 3.4 only. I agree with Ayush's point, we need to keep line 3.4
even if release line 3.5 will happen.

> Preparation for Hadoop 3.5 Release
Suggests to support JDK17 first, while running smoothly then considering other
stable JDKs.

> Operating System Support Strategy
Strong +1 from my side.

> Release Strategy Under Multi-JDK Builds
If the `Release Strategy` is for the next line 3.5, I think it's OK to
support JDK17 only,
Other active release lines(3.4), I think we should be cautious to cut
downs JDK version
support.

Thanks again.

Best Regards,
- He Xiaoqiao


[1] 
https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Active+Release+Lines

On Fri, Jul 11, 2025 at 5:58 PM Cheng Pan <pan3...@gmail.com> wrote:
>
> Hi Shilun,
>
> Thanks for your efforts on JDK 17 support and for bringing up this discussion.
>
> Glad to hear that the community considers moving the supported JDK
> baseline from 8 to a higher version(maybe 11 or 17, both sound good).
>
> Also agree to discontinue building support for OS once it reaches EOL,
> even in a patched release.
>
> > Remove unsupported base images from our Dockerfiles or upgrade them
> > to newer versions;
> >
> > Provide documentation to help users build on older systems;
>
> I have some different ideas for this purpose. I think the Dockerfile itself
> is the best documentation for developers to set up a building environment,
> for branch-3.4, we can stop testing on OS that is EOL and cause building
> failures, but keep the Dockerfile in the repo so that users who want to build
> on that OS can refer to it and fix the issues by themselves.
>
> For now, I think we should
>
> 1. Remove CentOS 7 testing and Dockerfile on trunk
> 2. Remove CentOS 7 testing on branch-3.4
> 3. Migrate CentOS 8 to other supported RHEL like OS 9 or 10
> 4. Upgrade Debian 10 to 12 or 13(coming soon), Ubuntu 20.04 to 24.04
>
> Thanks,
> Cheng Pan
>
> On 2025/07/11 05:44:06 slfan1989 wrote:
> > Dear community,
> >
> > I'd like to initiate a discussion on the future release and support
> > strategy for Hadoop. This includes a few important topics that I believe we
> > should align on:
> > 1. Ongoing Support for the Hadoop 3.4 Branch
> >
> > As it stands, Hadoop 3.4 is the last release line that supports Java 8. It
> > is expected that Java 8 compilation support will be officially removed from
> > the trunk branch after a community vote.
> > At the same time, the trunk branch is increasingly diverging from the 3.4
> > line due to the adoption of JUnit 5 and new features based on JDK17 syntax.
> > As a result, future bug fixes and backports will become significantly more
> > difficult.
> > Given this, I’d like to ask: *after the release of hadoop-3.4.2, does the
> > community plan to continue maintaining and releasing hadoop-3.4.3 or other
> > 3.4-series versions?*
> > 2. Preparation for Hadoop 3.5 Release
> >
> > With the JDK17 support work nearing completion, it’s time to start planning
> > for the Hadoop 3.5 release. Specific questions for discussion include:
> >
> >
> >    -
> >
> >    Should we set up a new CI pipeline for JDK17 on the trunk branch?
> >    -
> >
> >    Should we also add support for JDK21 in CI?
> >    -
> >
> >    If JDK21 support is added, can we remove the existing JDK11 pipeline?
> >
> > 3. Operating System Support Strategy
> >
> > Several major OS distributions—CentOS 7, CentOS 8, and Debian 10—have
> > already reached or are approaching end-of-life (EOL).
> > Should we adjust our support policy for these systems? For example:
> >
> >    -
> >
> >    Officially deprecate EOL systems;
> >    -
> >
> >    Provide documentation-only support for compilation;
> >    -
> >
> >    Remove outdated base images from Dockerfiles.
> >
> > 4. Release Strategy Under Multi-JDK Builds
> >
> > As we prepare to support JDK11, JDK17, and JDK21, we also need a clear
> > strategy for future releases. Key questions include:
> >
> >    -
> >
> >    Should we publish multiple build variants like: hadoop-3.5.0-jdk11,
> >    hadoop-3.5.0-jdk17, hadoop-3.5.0-jdk21?
> >    -
> >
> >    What naming convention should we adopt for these variants?
> >    -
> >
> >    For Maven Central artifacts, should we distinguish by JDK version or
> >    consider a unified approach?
> >
> > Additional Context and Suggestions from My Side:
> >
> >    1.
> >
> >    The JDK17 compatibility work is being tracked under HADOOP-17177
> >    <https://issues.apache.org/jira/browse/HADOOP-17177>. I am in the
> >    process of reviewing and linking all relevant JIRAs—both completed and
> >    pending—to this umbrella JIRA, and will share an overview in the coming
> >    week.
> >    2.
> >
> >    Regarding the JUnit 5 migration:
> >    Based on our experience, JUnit 5 introduces significant differences
> >    compared to JUnit 4. It fundamentally changes how tests are written and
> >    run. My proposed upgrade path is as follows:
> >    -
> >
> >       Complete the migration to *JUnit 5.8.2* (we are still working on HDFS
> >        and Hadoop-Azure and aim to finish in the next two weeks);
> >       -
> >
> >       Remove JUnit 4 usage module by module (e.g., Yarn, MapReduce, HDFS,
> >       Common, etc.);
> >       -
> >
> >       Upgrade to *JUnit 5.13.2* (as Steve suggested);
> >       -
> >
> >       Upgrade the *Maven Surefire Plugin*. Earlier issues were due to the
> >       mixed use of JUnit 4 and 5, which will no longer be a concern
> > once JUnit 5
> >       is fully adopted;
> >       -
> >
> >       Upgrade the *Maven version* to 3.9.0 for better compatibility and
> >       plugin support.
> >       3.
> >
> >    Once the JUnit 5 migration is complete, we will conduct a thorough test
> >    audit to ensure everything runs correctly and mark unstable tests for
> >    future attention.
> >    4.
> >
> >    Regarding legacy OS support, I recommend a "lightweight" approach:
> >    -
> >
> >       Remove unsupported base images from our Dockerfiles or upgrade them
> >       to newer versions;
> >       -
> >
> >       Provide documentation to help users build on older systems;
> >       -
> >
> >       But *formally discontinue* full support for EOL systems.
> >
> > I’d appreciate hearing your thoughts on these topics. Looking forward to a
> > fruitful discussion!
> >
> > Best regards,
> > Shilun Fan.
> >
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org
> For additional commands, e-mail: common-dev-h...@hadoop.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-dev-h...@hadoop.apache.org

Reply via email to