[ 
https://issues.apache.org/jira/browse/HADOOP-19395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17922919#comment-17922919
 ] 

Yaniv Kunda commented on HADOOP-19395:
--------------------------------------

Unfortunately, it looks like it's going to be difficult to do this upgrade 
without upgrading Jetty, as it has many ties in main code.
This might have to wait until Hadoop has its minimum Java version updated to at 
least Java 11 (for Servlet 5 / Jetty 10) or Java 17 (for Servlet 6 / Jetty 12).
Is there an umbrella issue for the baseline update?

> Upgrade javax to jakarta
> ------------------------
>
>                 Key: HADOOP-19395
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19395
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: common
>    Affects Versions: 3.5.0
>            Reporter: Yaniv Kunda
>            Priority: Major
>
> The project uses old libraries in the {{javax.*}} package namespace, mainly 
> {{javax.servlet}} & {{{}javax.annotation{}}}.
> For example, the old servlet-api is included via the following dependency 
> management:
> {code:xml}
> <dependency>
>     <groupId>jakarta.servlet</groupId>
>     <artifactId>jakarta.servlet-api</artifactId>
>     <version>4.0.4</version>
> </dependency>
> {code}
> Note that while the artifact is in maven's {{jakarta.servlet}} namespace, it 
> includes the {{javax.servlet}} classes - versions 5 and above include the 
> {{jakarta.servlet}} classes.
> The scope of its use is extensive, spanning most modules, and in many cases 
> in public classes - however I'm not sure if any are considered a public API.
> One caveat is that the current Jetty version (9.4.x) doesn't work with the 
> {{jakarta.servlet}} namespace, so it will still need to use the previous 
> {{javax.servlet}} namespace, but the latter can be used by getting 
> {{javax.servlet:javax.servlet-api:4.0.1}} specifically where it is used - and 
> having the old namespace for the maven coordinates as well means it wouldn't 
> cause a conflict.
> I believe that the first logical step is to upgrade to version 5.0.0, which 
> is the first version that uses the {{jakarta.*}} package namespace, but is 
> also the last that is Java 8 compatible, and upgrade again to 6.1.0 once 
> hadoop migrates to Java 17 as a minimum A new Java 17 baseline will also 
> support upgrading Jetty, which at the latest version 12 can work with all 
> servlet-api versions.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to