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 <[email protected]>
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-->