This is an automated email from the ASF dual-hosted git repository. luoc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/drill.git
The following commit(s) were added to refs/heads/master by this push: new 89be428 DRILL-7135: Update to Jetty 9.4 (#2236) 89be428 is described below commit 89be428e0bff1b4cc9fae288c64031ca3a83d971 Author: Laurent Goujon <lauren...@users.noreply.github.com> AuthorDate: Thu May 27 15:43:22 2021 -0700 DRILL-7135: Update to Jetty 9.4 (#2236) --- .../drill/yarn/appMaster/http/WebServer.java | 14 +++---- exec/java-exec/pom.xml | 5 +++ .../apache/drill/exec/server/rest/WebServer.java | 19 +++++----- .../exec/server/rest/auth/DrillUserPrincipal.java | 4 +- pom.xml | 43 +++------------------- 5 files changed, 27 insertions(+), 58 deletions(-) diff --git a/drill-yarn/src/main/java/org/apache/drill/yarn/appMaster/http/WebServer.java b/drill-yarn/src/main/java/org/apache/drill/yarn/appMaster/http/WebServer.java index dd10b70..29a38e4 100644 --- a/drill-yarn/src/main/java/org/apache/drill/yarn/appMaster/http/WebServer.java +++ b/drill-yarn/src/main/java/org/apache/drill/yarn/appMaster/http/WebServer.java @@ -42,6 +42,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.drill.exec.server.rest.CsrfTokenInjectFilter; import org.apache.drill.exec.server.rest.CsrfTokenValidateFilter; +import org.apache.drill.shaded.guava.com.google.common.collect.ImmutableSet; import org.apache.drill.yarn.appMaster.Dispatcher; import org.apache.drill.yarn.core.DrillOnYarnConfig; import org.bouncycastle.asn1.x500.X500NameBuilder; @@ -65,11 +66,9 @@ import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.server.SessionManager; import org.eclipse.jetty.server.SslConnectionFactory; import org.eclipse.jetty.server.UserIdentity; import org.eclipse.jetty.server.handler.ErrorHandler; -import org.eclipse.jetty.server.session.HashSessionManager; import org.eclipse.jetty.server.session.SessionHandler; import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.ServletContextHandler; @@ -79,7 +78,6 @@ import org.eclipse.jetty.util.ssl.SslContextFactory; import org.glassfish.jersey.servlet.ServletContainer; import org.joda.time.DateTime; -import org.apache.drill.shaded.guava.com.google.common.collect.ImmutableSet; import com.typesafe.config.Config; /** @@ -306,7 +304,7 @@ public class WebServer implements AutoCloseable { } /** - * It creates A {@link SessionHandler} which contains a {@link HashSessionManager} + * It creates A {@link SessionHandler} * * @param config Drill configs * @param securityHandler Set of initparameters that are used by the Authentication @@ -314,10 +312,10 @@ public class WebServer implements AutoCloseable { */ private SessionHandler createSessionHandler(Config config, final SecurityHandler securityHandler) { - SessionManager sessionManager = new HashSessionManager(); - sessionManager.setMaxInactiveInterval( + SessionHandler sessionHandler = new SessionHandler(); + sessionHandler.setMaxInactiveInterval( config.getInt(DrillOnYarnConfig.HTTP_SESSION_MAX_IDLE_SECS)); - sessionManager.addEventListener(new HttpSessionListener() { + sessionHandler.addEventListener(new HttpSessionListener() { @Override public void sessionCreated(HttpSessionEvent se) { // No-op @@ -340,7 +338,7 @@ public class WebServer implements AutoCloseable { } }); - return new SessionHandler(sessionManager); + return sessionHandler; } /** diff --git a/exec/java-exec/pom.xml b/exec/java-exec/pom.xml index 27180ef..39823a0 100644 --- a/exec/java-exec/pom.xml +++ b/exec/java-exec/pom.xml @@ -503,6 +503,11 @@ </exclusions> </dependency> <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-yarn-api</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>${avro.version}</version> diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/WebServer.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/WebServer.java index e00cb48..1d493b8 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/WebServer.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/WebServer.java @@ -27,8 +27,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.drill.common.config.DrillConfig; import org.apache.drill.common.exceptions.DrillException; import org.apache.drill.exec.ExecConstants; -import org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter; -import org.apache.drill.exec.server.rest.ssl.SslContextFactoryConfigurator; import org.apache.drill.exec.exception.DrillbitStartupException; import org.apache.drill.exec.expr.fn.registry.FunctionHolder; import org.apache.drill.exec.expr.fn.registry.LocalFunctionRegistry; @@ -40,6 +38,8 @@ import org.apache.drill.exec.server.options.OptionValidator.OptionDescription; import org.apache.drill.exec.server.options.OptionValue; import org.apache.drill.exec.server.rest.auth.DrillErrorHandler; import org.apache.drill.exec.server.rest.auth.DrillHttpSecurityHandlerProvider; +import org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter; +import org.apache.drill.exec.server.rest.ssl.SslContextFactoryConfigurator; import org.apache.drill.exec.work.WorkManager; import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.security.SecurityHandler; @@ -49,10 +49,8 @@ import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.server.SessionManager; import org.eclipse.jetty.server.SslConnectionFactory; import org.eclipse.jetty.server.handler.ErrorHandler; -import org.eclipse.jetty.server.session.HashSessionManager; import org.eclipse.jetty.server.session.SessionHandler; import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.FilterHolder; @@ -266,17 +264,18 @@ public class WebServer implements AutoCloseable { } /** - * Create a {@link SessionHandler} which contains a {@link HashSessionManager} + * Create a {@link SessionHandler} * * @param securityHandler Set of init parameters that are used by the Authentication * @return session handler */ private SessionHandler createSessionHandler(final SecurityHandler securityHandler) { - SessionManager sessionManager = new HashSessionManager(); - sessionManager.setMaxInactiveInterval(config.getInt(ExecConstants.HTTP_SESSION_MAX_IDLE_SECS)); + SessionHandler sessionHandler = new SessionHandler(); + //SessionManager sessionManager = new HashSessionManager(); + sessionHandler.setMaxInactiveInterval(config.getInt(ExecConstants.HTTP_SESSION_MAX_IDLE_SECS)); // response cookie will be returned with HttpOnly flag - sessionManager.getSessionCookieConfig().setHttpOnly(true); - sessionManager.addEventListener(new HttpSessionListener() { + sessionHandler.getSessionCookieConfig().setHttpOnly(true); + sessionHandler.addEventListener(new HttpSessionListener() { @Override public void sessionCreated(HttpSessionEvent se) { } @@ -305,7 +304,7 @@ public class WebServer implements AutoCloseable { } }); - return new SessionHandler(sessionManager); + return sessionHandler; } public int getPort() { diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/auth/DrillUserPrincipal.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/auth/DrillUserPrincipal.java index b6f670b..815ada3 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/auth/DrillUserPrincipal.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/auth/DrillUserPrincipal.java @@ -18,7 +18,7 @@ package org.apache.drill.exec.server.rest.auth; import org.apache.drill.shaded.guava.com.google.common.collect.ImmutableList; -import org.eclipse.jetty.security.MappedLoginService.RolePrincipal; +import org.eclipse.jetty.security.AbstractLoginService.RolePrincipal; import java.security.Principal; import java.util.List; @@ -89,4 +89,4 @@ public class DrillUserPrincipal implements Principal { super(ANONYMOUS_USER, true /* in anonymous (auth disabled) mode all users are admins */); } } -} \ No newline at end of file +} diff --git a/pom.xml b/pom.xml index 551466f..312bc62 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,7 @@ for example parquet-hadoop-bundle and derby dependencies. --> <hive.version>3.1.2</hive.version> - <hadoop.version>3.2.1</hadoop.version> + <hadoop.version>3.2.2</hadoop.version> <hbase.version>2.4.2</hbase.version> <fmpp.version>1.0</fmpp.version> <freemarker.version>2.3.28</freemarker.version> @@ -91,7 +91,7 @@ <reflections.version>0.9.10</reflections.version> <avro.version>1.9.1</avro.version> <metrics.version>4.0.2</metrics.version> - <jetty.version>9.3.28.v20191105</jetty.version> + <jetty.version>9.4.41.v20210516</jetty.version> <jersey.version>2.25.1</jersey.version> <asm.version>7.3.1</asm.version> <excludedGroups /> @@ -2850,43 +2850,10 @@ <!--Eclipse Jetty dependecies--> <dependency> <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-server</artifactId> - <version>${jetty.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-servlet</artifactId> - <version>${jetty.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-servlets</artifactId> - <version>${jetty.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-security</artifactId> - <version>${jetty.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-util</artifactId> - <version>${jetty.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-io</artifactId> - <version>${jetty.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-webapp</artifactId> - <version>${jetty.version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-xml</artifactId> + <artifactId>jetty-bom</artifactId> <version>${jetty.version}</version> + <type>pom</type> + <scope>import</scope> </dependency> <!--Eclipse Jetty dependecies-->