Thanks for the discussion, Shilun!

Briefly, I am aligned with everything in Ayush's response. +1.

Chris Nauroth


On Sun, Jul 13, 2025 at 9:57 PM Xiaoqiao He <hexiaoq...@apache.org> wrote:

> 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