aboutsummaryrefslogtreecommitdiff
path: root/sql/hive-thriftserver
diff options
context:
space:
mode:
authorbomeng <bmeng@us.ibm.com>2016-05-12 20:07:44 +0100
committerSean Owen <sowen@cloudera.com>2016-05-12 20:07:44 +0100
commit81bf870848cf9faeec5ab2d40acff27085466698 (patch)
tree5b85e8f6599420c5d162092e1ce1117632d98048 /sql/hive-thriftserver
parentbe617f3d0695982f982006fdd79afe3e3730b4c4 (diff)
downloadspark-81bf870848cf9faeec5ab2d40acff27085466698.tar.gz
spark-81bf870848cf9faeec5ab2d40acff27085466698.tar.bz2
spark-81bf870848cf9faeec5ab2d40acff27085466698.zip
[SPARK-14897][SQL] upgrade to jetty 9.2.16
## What changes were proposed in this pull request? Since Jetty 8 is EOL (end of life) and has critical security issue [http://www.securityweek.com/critical-vulnerability-found-jetty-web-server], I think upgrading to 9 is necessary. I am using latest 9.2 since 9.3 requires Java 8+. `javax.servlet` and `derby` were also upgraded since Jetty 9.2 needs corresponding version. ## How was this patch tested? Manual test and current test cases should cover it. Author: bomeng <bmeng@us.ibm.com> Closes #12916 from bomeng/SPARK-14897.
Diffstat (limited to 'sql/hive-thriftserver')
-rw-r--r--sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpCLIService.java16
1 files changed, 7 insertions, 9 deletions
diff --git a/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpCLIService.java b/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpCLIService.java
index 3b57efa38b..37e4845cce 100644
--- a/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpCLIService.java
+++ b/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpCLIService.java
@@ -37,8 +37,7 @@ import org.apache.thrift.TProcessor;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocolFactory;
import org.apache.thrift.server.TServlet;
-import org.eclipse.jetty.server.nio.SelectChannelConnector;
-import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
+import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.util.ssl.SslContextFactory;
@@ -59,9 +58,6 @@ public class ThriftHttpCLIService extends ThriftCLIService {
@Override
public void run() {
try {
- // HTTP Server
- httpServer = new org.eclipse.jetty.server.Server();
-
// Server thread pool
// Start with minWorkerThreads, expand till maxWorkerThreads and reject subsequent requests
String threadPoolName = "HiveServer2-HttpHandler-Pool";
@@ -69,10 +65,12 @@ public class ThriftHttpCLIService extends ThriftCLIService {
workerKeepAliveTime, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(),
new ThreadFactoryWithGarbageCleanup(threadPoolName));
ExecutorThreadPool threadPool = new ExecutorThreadPool(executorService);
- httpServer.setThreadPool(threadPool);
+
+ // HTTP Server
+ httpServer = new org.eclipse.jetty.server.Server(threadPool);
// Connector configs
- SelectChannelConnector connector = new SelectChannelConnector();
+ ServerConnector connector = new ServerConnector(httpServer);
boolean useSsl = hiveConf.getBoolVar(ConfVars.HIVE_SERVER2_USE_SSL);
String schemeName = useSsl ? "https" : "http";
// Change connector if SSL is used
@@ -92,14 +90,14 @@ public class ThriftHttpCLIService extends ThriftCLIService {
Arrays.toString(sslContextFactory.getExcludeProtocols()));
sslContextFactory.setKeyStorePath(keyStorePath);
sslContextFactory.setKeyStorePassword(keyStorePassword);
- connector = new SslSelectChannelConnector(sslContextFactory);
+ connector = new ServerConnector(httpServer, sslContextFactory);
}
connector.setPort(portNum);
// Linux:yes, Windows:no
connector.setReuseAddress(!Shell.WINDOWS);
int maxIdleTime = (int) hiveConf.getTimeVar(ConfVars.HIVE_SERVER2_THRIFT_HTTP_MAX_IDLE_TIME,
TimeUnit.MILLISECONDS);
- connector.setMaxIdleTime(maxIdleTime);
+ connector.setIdleTimeout(maxIdleTime);
httpServer.addConnector(connector);