Repository: atlas Updated Branches: refs/heads/branch-0.8 92b4216a9 -> 3d3f78506
ATLAS-2186: Jetty downgrade to v8. Signed-off-by: Madhan Neethiraj <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/3d3f7850 Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/3d3f7850 Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/3d3f7850 Branch: refs/heads/branch-0.8 Commit: 3d3f785060765cc87734c8c19f3111e4b4fd0fdf Parents: 92b4216 Author: ashutoshm <[email protected]> Authored: Tue Oct 3 12:40:09 2017 -0700 Committer: Madhan Neethiraj <[email protected]> Committed: Tue Oct 3 15:13:02 2017 -0700 ---------------------------------------------------------------------- pom.xml | 5 ++-- .../org/apache/atlas/LocalServletRequest.java | 3 -- .../atlas/web/service/EmbeddedServer.java | 19 ++++++------- .../atlas/web/service/SecureEmbeddedServer.java | 30 ++++++-------------- 4 files changed, 19 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/3d3f7850/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index c8e7ee7..bf23934 100644 --- a/pom.xml +++ b/pom.xml @@ -504,7 +504,8 @@ <node.version>v0.10.30</node.version> <node-for-v2.version>v4.4.2</node-for-v2.version> <slf4j.version>1.7.21</slf4j.version> - <jetty.version>9.2.12.v20150709</jetty.version> + <jetty.version>8.1.19.v20160209</jetty.version> + <jetty.maven.plugin.version>9.2.12.v20150709</jetty.maven.plugin.version> <jersey.version>1.19</jersey.version> <tinkerpop.version>2.6.0</tinkerpop.version> <titan.version>0.5.4</titan.version> @@ -1981,7 +1982,7 @@ <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> - <version>${jetty.version}</version> + <version>${jetty.maven.plugin.version}</version> <configuration> <!-- Log to the console. --> <requestLog implementation="org.eclipse.jetty.server.NCSARequestLog"> http://git-wip-us.apache.org/repos/asf/atlas/blob/3d3f7850/webapp/src/main/java/org/apache/atlas/LocalServletRequest.java ---------------------------------------------------------------------- diff --git a/webapp/src/main/java/org/apache/atlas/LocalServletRequest.java b/webapp/src/main/java/org/apache/atlas/LocalServletRequest.java index 36a01b2..710432f 100644 --- a/webapp/src/main/java/org/apache/atlas/LocalServletRequest.java +++ b/webapp/src/main/java/org/apache/atlas/LocalServletRequest.java @@ -157,7 +157,6 @@ public class LocalServletRequest implements HttpServletRequest { throw new IllegalStateException("Not supported"); } - @Override public String changeSessionId() { throw new IllegalStateException("Not supported"); } @@ -207,7 +206,6 @@ public class LocalServletRequest implements HttpServletRequest { throw new IllegalStateException("Not supported"); } - @Override public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, ServletException { throw new IllegalStateException("Not supported"); } @@ -237,7 +235,6 @@ public class LocalServletRequest implements HttpServletRequest { throw new IllegalStateException("Not supported"); } - @Override public long getContentLengthLong() { throw new IllegalStateException("Not supported"); } http://git-wip-us.apache.org/repos/asf/atlas/blob/3d3f7850/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java ---------------------------------------------------------------------- diff --git a/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java b/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java index 467571e..5724ad1 100755 --- a/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java +++ b/webapp/src/main/java/org/apache/atlas/web/service/EmbeddedServer.java @@ -22,10 +22,8 @@ import org.apache.atlas.AtlasConfiguration; import org.apache.atlas.AtlasErrorCode; import org.apache.atlas.exception.AtlasBaseException; import org.eclipse.jetty.server.Connector; -import org.eclipse.jetty.server.HttpConfiguration; -import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.ServerConnector; +import org.eclipse.jetty.server.nio.SelectChannelConnector; import org.eclipse.jetty.util.thread.ExecutorThreadPool; import org.eclipse.jetty.webapp.WebAppContext; import org.slf4j.Logger; @@ -52,7 +50,9 @@ public class EmbeddedServer { long keepAliveTime = AtlasConfiguration.WEBSERVER_KEEPALIVE_SECONDS.getLong(); ExecutorThreadPool pool = new ExecutorThreadPool(minThreads, maxThreads, keepAliveTime, TimeUnit.SECONDS, queue); - server = new Server(pool); + + server = new Server(); + server.setThreadPool(pool); Connector connector = getConnector(port); server.addConnector(connector); @@ -78,15 +78,12 @@ public class EmbeddedServer { } protected Connector getConnector(int port) throws IOException { - HttpConfiguration http_config = new HttpConfiguration(); - // this is to enable large header sizes when Kerberos is enabled with AD - final int bufferSize = AtlasConfiguration.WEBSERVER_REQUEST_BUFFER_SIZE.getInt();; - http_config.setResponseHeaderSize(bufferSize); - http_config.setRequestHeaderSize(bufferSize); + final int bufferSize = AtlasConfiguration.WEBSERVER_REQUEST_BUFFER_SIZE.getInt(); - ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory(http_config)); + SelectChannelConnector connector = new SelectChannelConnector(); connector.setPort(port); - connector.setHost("0.0.0.0"); + connector.setResponseBufferSize(bufferSize); + connector.setRequestBufferSize(bufferSize); return connector; } http://git-wip-us.apache.org/repos/asf/atlas/blob/3d3f7850/webapp/src/main/java/org/apache/atlas/web/service/SecureEmbeddedServer.java ---------------------------------------------------------------------- diff --git a/webapp/src/main/java/org/apache/atlas/web/service/SecureEmbeddedServer.java b/webapp/src/main/java/org/apache/atlas/web/service/SecureEmbeddedServer.java index fa02e9b..0563439 100755 --- a/webapp/src/main/java/org/apache/atlas/web/service/SecureEmbeddedServer.java +++ b/webapp/src/main/java/org/apache/atlas/web/service/SecureEmbeddedServer.java @@ -24,13 +24,8 @@ import org.apache.atlas.AtlasException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.security.alias.CredentialProvider; import org.apache.hadoop.security.alias.CredentialProviderFactory; -import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.server.Connector; -import org.eclipse.jetty.server.HttpConfiguration; -import org.eclipse.jetty.server.HttpConnectionFactory; -import org.eclipse.jetty.server.SecureRequestCustomizer; -import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.server.SslConnectionFactory; +import org.eclipse.jetty.server.ssl.SslSelectChannelConnector; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,6 +59,7 @@ public class SecureEmbeddedServer extends EmbeddedServer { super(port, path); } + @Override protected Connector getConnector(int port) throws IOException { org.apache.commons.configuration.Configuration config = getConfiguration(); @@ -72,14 +68,14 @@ public class SecureEmbeddedServer extends EmbeddedServer { System.getProperty(KEYSTORE_FILE_KEY, DEFAULT_KEYSTORE_FILE_LOCATION))); sslContextFactory.setKeyStorePassword(getPassword(config, KEYSTORE_PASSWORD_KEY)); sslContextFactory.setKeyManagerPassword(getPassword(config, SERVER_CERT_PASSWORD_KEY)); - sslContextFactory.setTrustStorePath(config.getString(TRUSTSTORE_FILE_KEY, + sslContextFactory.setTrustStore(config.getString(TRUSTSTORE_FILE_KEY, System.getProperty(TRUSTSTORE_FILE_KEY, DEFATULT_TRUSTORE_FILE_LOCATION))); sslContextFactory.setTrustStorePassword(getPassword(config, TRUSTSTORE_PASSWORD_KEY)); sslContextFactory.setWantClientAuth(config.getBoolean(CLIENT_AUTH_KEY, Boolean.getBoolean(CLIENT_AUTH_KEY))); List<Object> cipherList = config.getList(ATLAS_SSL_EXCLUDE_CIPHER_SUITES, DEFAULT_CIPHER_SUITES); sslContextFactory.setExcludeCipherSuites(cipherList.toArray(new String[cipherList.size()])); - sslContextFactory.setRenegotiationAllowed(false); + sslContextFactory.setAllowRenegotiate(false); String[] excludedProtocols = config.containsKey(ATLAS_SSL_EXCLUDE_PROTOCOLS) ? config.getStringArray(ATLAS_SSL_EXCLUDE_PROTOCOLS) : DEFAULT_EXCLUDE_PROTOCOLS; @@ -89,24 +85,14 @@ public class SecureEmbeddedServer extends EmbeddedServer { // SSL HTTP Configuration // HTTP Configuration - HttpConfiguration http_config = new HttpConfiguration(); - http_config.setSecureScheme("https"); final int bufferSize = AtlasConfiguration.WEBSERVER_REQUEST_BUFFER_SIZE.getInt(); - http_config.setSecurePort(port); - http_config.setRequestHeaderSize(bufferSize); - http_config.setResponseHeaderSize(bufferSize); - http_config.setSendServerVersion(true); - http_config.setSendDateHeader(false); - - HttpConfiguration https_config = new HttpConfiguration(http_config); - https_config.addCustomizer(new SecureRequestCustomizer()); // SSL Connector - ServerConnector sslConnector = new ServerConnector(server, - new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()), - new HttpConnectionFactory(https_config)); + SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(sslContextFactory); sslConnector.setPort(port); - server.addConnector(sslConnector); + sslConnector.setServer(server); + sslConnector.setRequestHeaderSize(bufferSize); + sslConnector.setResponseHeaderSize(bufferSize); return sslConnector; }
