Hi Jiwon,

I'd vote for Option 2 — discontinuing Hadoop 2 across Amoro in the next
release.

Key reasons:
 1. Hadoop 3 clients are backward-compatible with Hadoop 2 clusters. Hadoop
3 RPC can connect to Hadoop 2 NameNodes, and Hive 3 metastore client can
talk to Hive 2 metastore servers. Users on Hadoop 2 clusters can still use
connectors built with Hadoop 3 — the change is on the build side, not a
forced cluster upgrade.
 2. Hadoop 2 and Hive 2 are coupled in our build. The  hadoop2 profile sets
both together, and the Trino module pins Hive 2.1.1 with CI running only
under  hadoop2. Keeping it means maintaining the entire chain.
 3. AMS already requires Hadoop 3. Keeping Hadoop 2 only for connectors
creates a mixed config that's hard to test end-to-end — worse than a clean
break.
 4. Hadoop 2.10 hasn't had a release in 4+ years. The ecosystem has moved
on.

If we want to be slightly conservative, we could mark it deprecated next
release and remove in the following one. But I'm fine with a clean break
either way.
Happy to help with migration docs if we go with Option 2.

Best,
Jinsong

On Mon, Sep 21, 2026 at 3:42 PM Xavier Bai <[email protected]> wrote:

> +1 for discontinue Hadoop 2 in the next release
>
> Jiwon Park <[email protected]> 于2026年9月20日周日 19:30写道:
>
> > Hi all,
> >
> > Following Jinsong's suggestion on PR #4378, I would like to gather
> feedback
> > on the scope of Hadoop 2 support in Amoro.
> >
> > https://github.com/apache/amoro/pull/4378
> >
> > The PR upgrades AMS and optimizers to Iceberg 1.10.2 while keeping
> > mixed-format connectors on Iceberg 1.8.1 to preserve existing engine
> > support, including Spark 3.3 and Flink 1.18.
> >
> > The new Parquet dependency requires Hadoop APIs unavailable in Hadoop 2,
> so
> > AMS and optimizers need a compatible Hadoop 3 runtime. The question is
> > whether we should also discontinue Hadoop 2 support for mixed-format
> > connectors.
> >
> > Amoro's hadoop2 Maven profile uses Hadoop 2.10.2. Although Hadoop 2.10
> has
> > not been officially declared EOL, its last release was in May 2022, over
> > four years ago. Given this gap and the cost of maintaining separate build
> > and test configurations, I think it is worth considering retiring Hadoop
> 2
> > support in Amoro.
> >
> > Either way, we need to retire Hadoop 2-based AMS distributions and update
> > optimizer environments, including the Hadoop 2.8.3-based bundle in the
> > Flink optimizer Docker image.
> >
> > For the connectors, I see two options:
> >
> > 1. Retain Hadoop 2 for mixed-format connectors only, maintaining both
> > Hadoop 2 and Hadoop 3 connector build and test configurations.
> > 2. Discontinue Hadoop 2 across Amoro in the next release, simplifying
> > maintenance but requiring affected connector users to migrate.
> >
> > This is separate from the Iceberg version split: neither option would
> drop
> > existing Spark or Flink versions, though their Hadoop 3 configurations
> > would need validation.
> >
> > Does anyone still require Hadoop 2 for mixed-format connectors? Which
> > option would the community prefer?
> >
> > I can update the implementation and migration documentation based on the
> > feedback.
> >
> > Thanks,
> > Jiwon
> >
>

Reply via email to