Hi team,

As a follow-up to our earlier discussion on Jetty 12 support and the proposed 
branching strategy for hbase-thirdparty, I wanted to share an update based on 
the recent dry-run of the 4.1.11 release (HBASE-29302).

During the deploy step, the build failed due to bytecode version violations 
enforced by the maven-enforcer-plugin. Specifically, the Jetty 12 modules added 
via HBASE-29225 which are known to be compiled with JDK 17, violate our strict 
JDK 8 bytecode compatibility requirement for the project.

To address this, we created HBASE-29354 and to resolve the immediate issue by 
overriding the max bytecode version to 17 for Jetty 12 specific modules—since 
these modules only relocate pre-compiled JDK 17 .class files and are not 
supposed to be consumed by branch-2.x. While this seemed to resolve the build 
failure, some concerns were raised during the PR discussion regarding the 
correctness of this approach and hence we did not go ahead with merging this 
change.

Given that the Jetty 12 modules are not required for the HBase 2.x branches, 
and this issue is currently blocking the 4.1.11 release (which is needed for 
the upcoming 2.6.x and 2.5.x releases), we discussed to temporarily revert the 
Jetty 12-related changes from the main branch. A revert PR has been raised at 
PR #140.

Once the 2.x release is complete, we’ll revisit Jetty 12 integration with a 
cleaner strategy aligned with the HBase 3.x line and JDK 17 support.

Please let me know if you have any concerns or suggestions.

Best regards,
Nihal Jain

On 2025/05/23 09:52:55 Nihal Jain wrote:
> Thank you for your input, Duo. I agree that the longevity of the 2.x release 
> support is a crucial factor in deciding our approach.
> 
> Even I think Istvan is in favor of single branch strategy for now, including 
> me, for maintenance concerns. As you already mentioned, we can revisit the 
> branching strategy once the adoption of 3.x becomes more widespread and the 
> activity around 2.x decreases.
> 
> I will wait for others' input, if any, for the next few hours. If there are 
> no further objections, I will initiate the hbase-thirdparty 4.1.11 release 
> process later tonight (IST).
> 
> Regards,
> Nihal
> 
> On 2025/05/23 07:48:48 "张铎(Duo Zhang)" wrote:
> > After consideration, I think maybe the key thing here is how long we
> > still plan to support frequent 2.x releases.
> > 
> > So I think we could go with one branch for now, and once 3.x becomes a
> > more popular release and 2.x gets less active, we can go with the two
> > branches solution.
> > 
> > Thanks.
> > 
> > Nihal Jain <nihaljain...@gmail.com> 于2025年5月22日周四 15:27写道:
> > >
> > > Hi team,
> > >
> > > I hope you're all doing well. I am writing to initiate a discussion
> > > regarding the upcoming release of hbase-thirdparty and our plans to
> > > integrate significant updates, including the addition of a Jetty 12 module
> > > as part of
> > > https://issues.apache.org/jira/browse/HBASE-29225
> > >
> > > ---
> > >
> > > Currently, our plan is to set Jetty 12 with EE8 for branch-3+, while
> > > branch-2 will continue using Jetty 9.
> > >
> > > For this, we have introduced a new module in hbase-thirdparty, which
> > > includes:
> > > - hbase-shaded-jetty-12-plus-core: Contains shaded Jetty 12 core jars.
> > > - hbase-shaded-jetty-12-plus-ee8: Contains shaded Jetty EE8 specific jars.
> > >
> > > Branches that want to consume EE8 will need to add both the
> > > `hbase-shaded-jetty-12-plus-core` and `hbase-shaded-jetty-12-plus-ee8`
> > > dependencies, replacing the former `hbase-shaded-jetty`. In the future, we
> > > plan to introduce additional modules for EE9/EE10 as needed.
> > >
> > > Refer https://issues.apache.org/jira/browse/HBASE-29224
> > >
> > > ---
> > >
> > > There's been a proposal to manage this via separate branches in
> > > hbase-thirdparty:
> > >
> > > 1. **Master Branch (5.x) for HBase-3+:**
> > > - Incorporate Jetty 12 changes.
> > > - Transition to support JDK 17 and hbase-unsafe eventually
> > >
> > > 2. **Fork Branch (4.x) for HBase-2.x:**
> > > - Continue using Jetty 9.
> > > - Maintain support for JDK 8.
> > >
> > > Refer https://issues.apache.org/jira/browse/HBASE-29302
> > >
> > > While this allows for modularized changes, it might increase our
> > > maintenance workload as going forward we may have to backport to both
> > > branches of hbase-thirdparty, as needed, and drive twice the number of
> > > releases for the same.
> > >
> > > An alternative could be maintaining a single branch with duplicated 
> > > modules
> > > specific to jetty versions to reduce release workload but this will 
> > > prevent
> > > us from moving to JDK 17.
> > >
> > > ---
> > >
> > > I welcome your thoughts on our strategy for handling these updates and on
> > > managing the branch strategy for hbase-thirdparty.
> > >
> > > Please let me know if you have any concerns or additional suggestions. 
> > > Your
> > > input will be invaluable as we refine our approach to this release.
> > >
> > > Looking forward to your feedback.
> > >
> > > Best regards,
> > > Nihal Jain
> > 
> 

Reply via email to