I was not aware that Jetty 12 requires Java 17 but should have checked. At some point we will need to concede to raising our minimum Java version when a combination of security issues and dependency maintenance status require the bump to solve for the constraints. We can try to get ahead of it too. I think it makes sense.
Let me look at PHOENIX-7164! > On Mar 7, 2025, at 7:35 AM, Istvan Toth <st...@cloudera.com.invalid> wrote: > > The only way to get Jetty 17 into 2.x would be by bumping the required Java > version for 2.7 or 2.8 to 17. > This is not necessarily out of the question, but we haven't discussed that > yet. > > The main reason I pushed for bumping the minimum Java to 17 for 3.0 was so > that we can move off all the old dependencies we are stuck on. > > BTW I heard noises (well, read it on ticket) that Hadoop 3.5 is also > planned to require JDK17. > > Aside: > Andrew, there are Phoenix PRs waiting for reviews which add the bulk of > changes required for HBase 3.0 support. (Mostly just getting rid of HBase > 1.0 APIs) > I'd appreciate it if someone from your team could review them. See > PHOENIX-7164. I'd like to add support for HBase 3.0 > to Phoenix promptly after 3.0 is released. > > Istvan > > >> On Fri, Mar 7, 2025 at 2:56 AM Andrew Purtell <apurt...@apache.org> wrote: >> >> I'm not sure what other user appetites for HBase 3 in production are, but >> at the $dayjob it's got to be 18 months to 2 years out. First, we are a >> Phoenix shop, so Phoenix must adapt their code for HBase 3 and prepare >> releases based on HBase 3 that will be production ready, and as far as I >> know this isn't on the radar for them yet. (It's quite possible our shop >> would do the work, but not until next year at the earliest.) Then, we must >> update all of our internal code for API differences, and rigorously test >> incremental upgrade and rollback, until we can move up and back seamlessly, >> and that will take time. I think we might consider allocating resources for >> it beginning next year. I don't think we are unusual in that regard. >> >> All this to say, maintenance changes like a Jetty uplift should not be >> restricted to 3.x only, because 2.x users are going to remain on 2.x for a >> while, and 2.x users have just as much exposure to security blockers >> related to end of support versions of Jetty. If the project doesn't land >> things like Jetty uplift back to 2.x, that's just more work for us to do >> it, and less bandwidth to pursue more forward looking activities. >> >> For your consideration. >> >> On Thu, Mar 6, 2025 at 5:45 PM 张铎(Duo Zhang) <palomino...@gmail.com> >> wrote: >> >>> If we can speed up the 3.x release, since it has already moved up the >>> JDK17+, it will be easier to land these changes in 3.x only. >>> >>> Istvan Toth <st...@cloudera.com.invalid> 于2025年3月7日周五 03:42写道: >>>> >>>> I'd split that into two tickets. >>>> >>>> First move to Jetty 12 while keeping the old javax package names, and >>> once >>>> that's done and tested, we can look into moving to jakarta. >>>> >>>> Istvan >>>> >>>> On Thu, Mar 6, 2025 at 8:33 PM Andrew Purtell <apurt...@apache.org> >>> wrote: >>>> >>>>>> Therefore, I plan to use the EE8 environment on Jetty 12. >>>>> >>>>> Ah, thanks for mentioning EE. >>>>> >>>>> Do you have a requirement to stay with EE 8 ? >>>>> >>>>> If we could target EE 9 instead of EE 8 that would align with some >>> internal >>>>> requirements at $dayjob. For what it's worth. Mostly the point of EE >> 9 >>> is a >>>>> move of the EE stuff into a new namespace, allowing for further >>> development >>>>> under the Eclipse Foundation without trademark conflicts with >> Oracle's >>>>> "Java" branding. The trademark issue and follow on Java licensing >>> concerns >>>>> are going to be relevant for anyone who might be visited by an Oracle >>>>> lawyer-shark. >>>>> >>>>> On Tue, Mar 4, 2025 at 6:42 AM Nihal Jain <nihalj...@apache.org> >>> wrote: >>>>> >>>>>>> I think that the best course of action would be adding a separate >>>>> Jetty11 >>>>>> module to hbase-thirdparty, this way 9.4.x and 11.0.x can be both >>>>>> used/updated by the 2.x / 3.x branches. >>>>>> >>>>>> +1, I would like to volunteer for this work. >>>>>> >>>>>> Maintaining Jetty 9.4.x could be quite challenging from a CVE >>> perspective >>>>>> since it has been EOCS (End of Community Support) since June 2022, >>> and >>>>> new >>>>>> releases may not be forthcoming for a long time. I faced similar >>> issues >>>>>> during our last hbase-thirdparty release. See this issue comment: >>>>>> >>>>> >>> >> https://github.com/jetty/jetty.project/issues/12630#issuecomment-2604701092 >>>>>> >>>>>> Regarding the version and CVEs, I agree with @Andrew and suggest >>> that we >>>>>> jump directly to Jetty 12, bypassing Jetty 11, to support >>> javax.servlet >>>>> for >>>>>> JSP 2.3.1. Therefore, I plan to use the EE8 environment on Jetty >> 12. >>> See >>>>>> Jetty version history: >>> https://jetty.org/download.html#version-history >>>>>> >>>>>> @Istvan, is there any particular reason you recommend moving to >>> Jetty 11, >>>>>> which is also EOCS? >>>>>> >>>>>> If others are fine with me taking this up, I can create the >> necessary >>>>>> JIRAs for the Jetty migration project and start the work soon. >>>>>> >>>>>> Regards, >>>>>> Nihal >>>>>> >>>>>> On 2025/03/03 18:08:53 Wei-Chiu Chuang wrote: >>>>>>> FYI I think Hadoop will need to make similar moves too. >>>>>>> Sounds like Hadoop should start the work to drop JDK8 as well. I >>> know >>>>>> Steve >>>>>>> has a patch that requires JDK17+ due to Iceberg >>>>>>> https://github.com/apache/hadoop/pull/7316 >>>>>>> >>>>>>> ---------- Forwarded message --------- >>>>>>> From: Istvan Toth <st...@apache.org> >>>>>>> Date: Sun, Mar 2, 2025 at 9:41 PM >>>>>>> Subject: [DISCUSS] Plans for JDK22 / SecurityManager removal >>>>>>> To: HBase Dev List <dev@hbase.apache.org> >>>>>>> >>>>>>> >>>>>>> Hi! >>>>>>> >>>>>>> The last big incompatible JDK change is the JEP411/JEP486 >>>>> SecurityManager >>>>>>> removal process, which has gotten serious with JDK22, which >>> disables >>>>>>> Subject.doAs*() Subject.getSubject() by default (while providing >>> the >>>>> kind >>>>>>> of equivalent callAs() and current() methods), and kills >> automatic >>>>>> Subject >>>>>>> propagation to new threads. >>>>>>> >>>>>>> To add insult to injury the new methods are only available from >>> JDK18, >>>>> so >>>>>>> it is not possible to just move to the new API without breaking >>> JDK17. >>>>>>> >>>>>>> Some of this can only be solved in Hadoop (hopefully 3.5) , but >>> HBase >>>>> can >>>>>>> also take steps to move towards JDK22 compatibility in the >>> meantime. >>>>>>> >>>>>>> Here's the plan I have in mind: >>>>>>> >>>>>>> - Review and the dependencies WRT SecurityManage usage (just >>> search for >>>>>> API >>>>>>> calls) >>>>>>> - Update the dependencies as needed >>>>>>> >>>>>>> - Add a reflection-based compatibility Utility class based on >>> Jetty's >>>>>>> SecurityUtils, (or one of its derivatives) >>>>>>> - Replace the deprecated method calls with the compatibility >>> versions >>>>>>> - Wrap Runnables/Callables with Subject current()/callAs() >> methods. >>>>>>> >>>>>>> One large dependency I have identified is Jetty. >>>>>>> While technically we MAY be able to keep using 9.4 by overriding >>> its >>>>>>> default ThreadFactory, I think that considering that even >>> semi-formal >>>>>> Jetty >>>>>>> 9.4 support is on its very last legs (the latest update was never >>> even >>>>>>> announced and is not listed in the downloads page), the >>> advantages of >>>>>>> updating to Jetty 11 on branch-3+ now far outweighs the added >>>>> maintenance >>>>>>> burden of the branch divergence. >>>>>>> >>>>>>> I think that the best course of action would be adding a separate >>>>> Jetty11 >>>>>>> module to hbase-thirdparty, this way 9.4.x and 11.0.x can be both >>>>>>> used/updated by the 2.x / 3.x branches. >>>>>>> >>>>>>> What do you think ? >>>>>>> >>>>>>> - Do you agree that JEP411/486 should be treated as a priority ? >>>>>>> - Would you volunteer for the dependency audit ? >>>>>>> - Do you agree with the Jetty update, and the plan outlined >> above ? >>>>>>> >>>>>>> Istvan >>>>>>> >>>>>>> ps: Sorry, no links because GMail seems to react very bady to >> any. >>>>> Please >>>>>>> use search. >>>>>>> >>>>>> >>>>>> >> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org >>>>>> For additional commands, e-mail: common-dev-h...@hadoop.apache.org >>>>>> >>>>>> >>>>> >>>>> -- >>>>> Best regards, >>>>> Andrew >>>>> >>>>> Unrest, ignorance distilled, nihilistic imbeciles - >>>>> It's what we’ve earned >>>>> Welcome, apocalypse, what’s taken you so long? >>>>> Bring us the fitting end that we’ve been counting on >>>>> - A23, Welcome, Apocalypse >>>>> >>>> >>>> >>>> -- >>>> *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> >>>> ------------------------------ >>>> ------------------------------ >>> >> >> >> -- >> Best regards, >> Andrew >> >> Unrest, ignorance distilled, nihilistic imbeciles - >> It's what we’ve earned >> Welcome, apocalypse, what’s taken you so long? >> Bring us the fitting end that we’ve been counting on >> - A23, Welcome, Apocalypse >> > > > -- > *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> > ------------------------------ > ------------------------------