Update: hbase-thirdparty 4.1.12 has been released and integrated. Jetty 12 migration work is now complete in branch-3 and master. Thanks to everyone for the discussion and contributions in this thread.
Regards, Nihal On 2025/08/08 15:57:43 Nihal Jain wrote: > Hi, > > hbase-thirdparty 4.1.12 (RC0) is up for voting at > https://lists.apache.org/thread/zxdyfrq3h28bc8sy04zs2h6crxxwylo4 > > Also updated jetty's master PR i.e. https://github.com/apache/hbase/pull/6783 > to consume RC0 for a round on build on Jenkins. > > Regards, > Nihal > > On 2025/07/31 07:24:29 "张铎(Duo Zhang)" wrote: > > Let's make a new release and upgrade to jetty 12 for master and > > branch-3. I think this is the last blocker issue for releasing our > > final 3.0.0. > > > > Thanks Nihal for the great work. > > > > Nihal Jain <nihalj...@apache.org> 于2025年7月31日周四 13:12写道: > > > > > > Hi all, > > > > > > All the changes for adding Jetty 12 and toolchains into hbase-thirdparty > > > has been merged to codebase. > > > > > > Also I have triggered a build using current snapshot of hbase-thirdparty > > > for Jetty 12 PR in master i.e. https://github.com/apache/hbase/pull/6783 > > > (Build is GREEN!) > > > > > > We are good with this project now. Thank you everyone for the discussion > > > and reviews. > > > > > > Let me know whenever we should plan to start a new release for > > > hbase-thirdparty to consume in master to get in Jetty 12 PR. Meanwhile > > > will trigger branch 2 build with current snapshot of hbase-thirdparty to > > > eliminate any hiccups/regressions due to toolchain based builds. > > > > > > Regards, > > > Nihal > > > > > > On 2025/07/22 12:17:55 Nihal Jain wrote: > > > > Hello team, > > > > > > > > The PR is ready for review and I have made changes required for Jenkins > > > > integration as well. > > > > > > > > Looking forward to your feedback. > > > > > > > > Regards, > > > > Nihal > > > > > > > > On 2025/07/10 15:25:10 Nihal Jain wrote: > > > > > Hello, > > > > > > > > > > I've posted a new draft PR for hbase-thirdparty introducing > > > > > toolchain-based builds: PR > > > > > https://github.com/apache/hbase-thirdparty/pull/142. > > > > > > > > > > (Below is same as before i.e. adds back reverted commit > > > > > 6016e75d38312c9e78a4594d363c29ce24b82bc4) > > > > > This adds new modules for Jetty 12 migration. Branches using EE8 > > > > > should update dependencies to these modules. Future modules for > > > > > EE9/EE10 can be added as needed. > > > > > > > > > > (New change as suggested by Istvan) > > > > > The build now uses Maven toolchains, supporting both JDK 8 and JDK 17 > > > > > in one branch. It auto-selects the correct JDK, simplifies local/CI > > > > > setup, and keeps JDK 8 compatibility for existing modules. > > > > > Documentation and setup scripts are included. This changes also > > > > > addresses HBASE-29354 i.e. > > > > > https://github.com/apache/hbase-thirdparty/pull/139 > > > > > > > > > > Please note: Jenkins integration is still a work in progress. > > > > > > > > > > With this, HBase 2.x can continue using JDK 8-compatible Jetty 9, > > > > > while HBase 3.x can adopt Jetty 12 on JDK 17: all in a single branch > > > > > with clear Jenkins/CI and local developer workflows. This eliminates > > > > > the need for separate branches or releases for different JDK/Jetty > > > > > versions. > > > > > > > > > > Looking forward to your feedback on the draft PR. > > > > > > > > > > Regards, > > > > > Nihal > > > > > > > > > > On 2025/05/27 04:45:49 Istvan Toth wrote: > > > > > > Hi, > > > > > > > > > > > > I agree with the proposed single branch strategy. > > > > > > I also agree with temporarily reverting/disabling Jetty 12 until > > > > > > after the > > > > > > next thirdparty release. > > > > > > > > > > > > Regarding the Java compiler version: > > > > > > According to > > > > > > https://stackoverflow.com/questions/12414209/compile-maven-module-with-different-java-version > > > > > > Using different compilers in a single project is possible. > > > > > > The toolchains solution does require some extra setup for > > > > > > compiling, but > > > > > > seems easily doable both manually and in the release script / CI. > > > > > > > > > > > > So the question comes down to: > > > > > > - Either require a bit more involved environment setup for > > > > > > building thirdparty with toolchains > > > > > > - Or maintaining and releasing two separate branches > > > > > > > > > > > > The single branch solution still seems to be much less work overall. > > > > > > > > > > > > Istvan > > > > > > > > > > > > > > > > > > On Mon, May 26, 2025 at 7:15 PM Nihal Jain <nihalj...@apache.org> > > > > > > wrote: > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > *István Tóth* | Sr. Staff Software Engineer > > > > > > *Email*: st...@cloudera.com > > > > > > cloudera.com <https://www.cloudera.com> > > > > > > [image: Cloudera] <https://www.cloudera.com/> > > > > > > [image: Cloudera on Twitter] <https://twitter.com/cloudera> [image: > > > > > > Cloudera on Facebook] <https://www.facebook.com/cloudera> [image: > > > > > > Cloudera > > > > > > on LinkedIn] <https://www.linkedin.com/company/cloudera> > > > > > > ------------------------------ > > > > > > ------------------------------ > > > > > > > > > > > > > > > > > >