[ 
https://issues.apache.org/jira/browse/HDDS-8280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Attila Doroszlai updated HDDS-8280:
-----------------------------------
    Summary: Upgrade Jetty to 12  (was: [Discussion][JDK17] Bump jetty from 
9.4.x to 11.x/12.x)

> Upgrade Jetty to 12
> -------------------
>
>                 Key: HDDS-8280
>                 URL: https://issues.apache.org/jira/browse/HDDS-8280
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Siyao Meng
>            Priority: Major
>
> Hundles:
> 1. Upgrading jetty to 10.x or higher means ditching support for JDK 8. 10.x 
> or 11.x requires JDK 11 to compile and run. 12.x requires JDK 17. See this: 
> https://www.eclipse.org/jetty/download.php#version-table
> 2. Community Support for Jetty 9.x has ended. There doesn't seem to have a 
> plan to support JDK 17 in Jetty 9.4.x: 
> https://github.com/eclipse/jetty.project/issues/9196. Unless there is another 
> fork.
> 3. Even if ditching JDK 8 is tolerable, some servlets 
> (AdminAuthorizedServlet, HttpServer2) have to be manually migrated to 
> accommodate new jetty. Here I attempted to compile with jetty 11.0.14 + Zulu 
> JDK 17:
> {code}
> [ERROR] COMPILATION ERROR :
> [INFO] -------------------------------------------------------------
> [ERROR] 
> /Users/smeng/repo/ozone-master/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/AdminAuthorizedServlet.java:[36,3]
>  method does not override or implement a method from a supertype
> [ERROR] 
> /Users/smeng/repo/ozone-master/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/AdminAuthorizedServlet.java:[40,61]
>  incompatible types: jakarta.servlet.ServletContext cannot be converted to 
> javax.servlet.ServletContext
> [ERROR] 
> /Users/smeng/repo/ozone-master/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/AdminAuthorizedServlet.java:[43,19]
>  incompatible types: javax.servlet.http.HttpServletRequest cannot be 
> converted to jakarta.servlet.http.HttpServletRequest
> [ERROR] 
> /Users/smeng/repo/ozone-master/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/HttpServer2.java:[575,69]
>  incompatible types: org.eclipse.jetty.server.handler.ContextHandler.Context 
> cannot be converted to javax.servlet.ServletContext
> [ERROR] 
> /Users/smeng/repo/ozone-master/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/HttpServer2.java:[834,30]
>  no suitable constructor found for 
> ServletHolder(java.lang.Class<com.sun.jersey.spi.container.servlet.ServletContainer>)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(org.eclipse.jetty.servlet.Source)
>  is not applicable
>       (argument mismatch; 
> java.lang.Class<com.sun.jersey.spi.container.servlet.ServletContainer> cannot 
> be converted to org.eclipse.jetty.servlet.Source)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(jakarta.servlet.Servlet)
>  is not applicable
>       (argument mismatch; 
> java.lang.Class<com.sun.jersey.spi.container.servlet.ServletContainer> cannot 
> be converted to jakarta.servlet.Servlet)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(java.lang.Class<? 
> extends jakarta.servlet.Servlet>) is not applicable
>       (argument mismatch; 
> java.lang.Class<com.sun.jersey.spi.container.servlet.ServletContainer> cannot 
> be converted to java.lang.Class<? extends jakarta.servlet.Servlet>)
> [ERROR] 
> /Users/smeng/repo/ozone-master/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/HttpServer2.java:[883,28]
>  no suitable constructor found for ServletHolder(java.lang.Class<capture#1 of 
> ? extends javax.servlet.http.HttpServlet>)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(org.eclipse.jetty.servlet.Source)
>  is not applicable
>       (argument mismatch; java.lang.Class<capture#1 of ? extends 
> javax.servlet.http.HttpServlet> cannot be converted to 
> org.eclipse.jetty.servlet.Source)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(jakarta.servlet.Servlet)
>  is not applicable
>       (argument mismatch; java.lang.Class<capture#1 of ? extends 
> javax.servlet.http.HttpServlet> cannot be converted to 
> jakarta.servlet.Servlet)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(java.lang.Class<? 
> extends jakarta.servlet.Servlet>) is not applicable
>       (argument mismatch; java.lang.Class<capture#1 of ? extends 
> javax.servlet.http.HttpServlet> cannot be converted to java.lang.Class<? 
> extends jakarta.servlet.Servlet>)
> [ERROR] 
> /Users/smeng/repo/ozone-master/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/HttpServer2.java:[957,30]
>  no suitable constructor found for ServletHolder(java.lang.Class<capture#2 of 
> ? extends javax.servlet.http.HttpServlet>)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(org.eclipse.jetty.servlet.Source)
>  is not applicable
>       (argument mismatch; java.lang.Class<capture#2 of ? extends 
> javax.servlet.http.HttpServlet> cannot be converted to 
> org.eclipse.jetty.servlet.Source)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(jakarta.servlet.Servlet)
>  is not applicable
>       (argument mismatch; java.lang.Class<capture#2 of ? extends 
> javax.servlet.http.HttpServlet> cannot be converted to 
> jakarta.servlet.Servlet)
>     constructor 
> org.eclipse.jetty.servlet.ServletHolder.ServletHolder(java.lang.Class<? 
> extends jakarta.servlet.Servlet>) is not applicable
>       (argument mismatch; java.lang.Class<capture#2 of ? extends 
> javax.servlet.http.HttpServlet> cannot be converted to java.lang.Class<? 
> extends jakarta.servlet.Servlet>)
> [INFO] 7 errors
> {code}
> The last point could very well impact to Hadoop/HDFS's jetty usage as well. 
> Though I have not seen anyone mentioning in it under HADOOP-17177 yet.



--
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