From cc9849c7b86fdd3e19c9933265665132c8fee90a Mon Sep 17 00:00:00 2001 From: Gian Merlino Date: Fri, 22 Jul 2016 10:24:36 -0700 Subject: [PATCH 1/3] Require Java 8 and include some Java 8 dependencies. - Upgrade Jetty to 9.3.16.v20170120. - Upgrade DataSketches to 0.8.4. - Bundle caffeine-cache by default. - Still target Java 7 when compiling base Druid classes. --- distribution/pom.xml | 49 +------------------ extensions-core/datasketches/pom.xml | 2 +- .../theta/SketchBufferAggregator.java | 6 +-- .../datasketches/theta/SketchHolder.java | 4 +- .../theta/SketchObjectStrategy.java | 4 +- .../datasketches/theta/SynchronizedUnion.java | 8 ++- pom.xml | 17 ++----- .../server/AsyncQueryForwardingServlet.java | 26 +++++++--- .../server/http/OverlordProxyServlet.java | 4 +- .../JettyMonitoringConnectionFactory.java | 7 +++ .../initialization/jetty/JettyRequestLog.java | 4 +- .../jetty/JettyServerInitUtils.java | 32 ++++-------- .../AsyncQueryForwardingServletTest.java | 3 +- .../server/http/OverlordProxyServletTest.java | 2 +- .../server/initialization/BaseJettyTest.java | 3 +- .../main/java/io/druid/cli/CliOverlord.java | 8 ++- .../CoordinatorJettyServerInitializer.java | 8 ++- .../MiddleManagerJettyServerInitializer.java | 3 +- .../cli/QueryJettyServerInitializer.java | 3 +- .../cli/RouterJettyServerInitializer.java | 8 ++- 20 files changed, 84 insertions(+), 117 deletions(-) diff --git a/distribution/pom.xml b/distribution/pom.xml index a89ad30c18da..3373b2cf5044 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -79,6 +79,8 @@ -c io.druid.extensions:druid-avro-extensions -c + io.druid.extensions:druid-caffeine-cache + -c io.druid.extensions:druid-datasketches -c io.druid.extensions:druid-hdfs-storage @@ -166,53 +168,6 @@ - - java8 - - 1.8 - - - - - org.codehaus.mojo - exec-maven-plugin - - - pull-deps-jdk8 - package - - exec - - - java - - -classpath - - -Ddruid.extensions.loadList=[] - -Ddruid.extensions.directory=${project.build.directory}/extensions - - - -Ddruid.extensions.hadoopDependenciesDir=${project.build.directory}/hadoop-dependencies - - io.druid.cli.Main - tools - pull-deps - --defaultVersion - ${project.parent.version} - -l - ${settings.localRepository} - - --no-default-hadoop - -c - io.druid.extensions:druid-caffeine-cache - - - - - - - - bundle-contrib-exts diff --git a/extensions-core/datasketches/pom.xml b/extensions-core/datasketches/pom.xml index e62a68c69371..3b48652d4011 100644 --- a/extensions-core/datasketches/pom.xml +++ b/extensions-core/datasketches/pom.xml @@ -38,7 +38,7 @@ com.yahoo.datasketches sketches-core - 0.4.1 + 0.8.4 io.druid diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchBufferAggregator.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchBufferAggregator.java index 7f8f6000cbfb..03dc9d6372ca 100644 --- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchBufferAggregator.java +++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchBufferAggregator.java @@ -19,10 +19,10 @@ package io.druid.query.aggregation.datasketches.theta; +import com.yahoo.memory.Memory; +import com.yahoo.memory.MemoryRegion; +import com.yahoo.memory.NativeMemory; import com.yahoo.sketches.Family; -import com.yahoo.sketches.memory.Memory; -import com.yahoo.sketches.memory.MemoryRegion; -import com.yahoo.sketches.memory.NativeMemory; import com.yahoo.sketches.theta.SetOperation; import com.yahoo.sketches.theta.Union; import io.druid.query.aggregation.BufferAggregator; diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchHolder.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchHolder.java index 75815f528944..54fa865d7970 100644 --- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchHolder.java +++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchHolder.java @@ -24,9 +24,9 @@ import com.google.common.collect.Ordering; import com.google.common.primitives.Doubles; import com.google.common.primitives.Longs; +import com.yahoo.memory.Memory; +import com.yahoo.memory.NativeMemory; import com.yahoo.sketches.Family; -import com.yahoo.sketches.memory.Memory; -import com.yahoo.sketches.memory.NativeMemory; import com.yahoo.sketches.theta.AnotB; import com.yahoo.sketches.theta.Intersection; import com.yahoo.sketches.theta.SetOperation; diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchObjectStrategy.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchObjectStrategy.java index 8e7b1f04638d..2e2550a0b3b4 100644 --- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchObjectStrategy.java +++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SketchObjectStrategy.java @@ -19,8 +19,8 @@ package io.druid.query.aggregation.datasketches.theta; -import com.yahoo.sketches.memory.MemoryRegion; -import com.yahoo.sketches.memory.NativeMemory; +import com.yahoo.memory.MemoryRegion; +import com.yahoo.memory.NativeMemory; import com.yahoo.sketches.theta.Sketch; import io.druid.java.util.common.IAE; import io.druid.segment.data.ObjectStrategy; diff --git a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SynchronizedUnion.java b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SynchronizedUnion.java index 1bcbf4ea07fe..819c68b8481a 100644 --- a/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SynchronizedUnion.java +++ b/extensions-core/datasketches/src/main/java/io/druid/query/aggregation/datasketches/theta/SynchronizedUnion.java @@ -19,7 +19,7 @@ package io.druid.query.aggregation.datasketches.theta; -import com.yahoo.sketches.memory.Memory; +import com.yahoo.memory.Memory; import com.yahoo.sketches.theta.CompactSketch; import com.yahoo.sketches.theta.Sketch; import com.yahoo.sketches.theta.Union; @@ -77,6 +77,12 @@ public synchronized void update(int[] data) delegate.update(data); } + @Override + public void update(char[] chars) + { + delegate.update(chars); + } + @Override public synchronized void update(long[] data) { diff --git a/pom.xml b/pom.xml index 4322c9c3d81f..bde405f67be7 100644 --- a/pom.xml +++ b/pom.xml @@ -63,7 +63,7 @@ 1.11.0 16.0.1 4.1.0 - 9.2.5.v20141112 + 9.3.16.v20170120 1.19 2.4.6 @@ -95,6 +95,7 @@ hll extensions-core/avro-extensions + extensions-core/caffeine-cache extensions-core/datasketches extensions-core/druid-kerberos extensions-core/hdfs-storage @@ -830,6 +831,9 @@ + + 1.8.0 + @@ -999,17 +1003,6 @@ 1.8 - - extensions-core/caffeine-cache - - distribution - - - - java7 - - 1.7 - distribution diff --git a/server/src/main/java/io/druid/server/AsyncQueryForwardingServlet.java b/server/src/main/java/io/druid/server/AsyncQueryForwardingServlet.java index a111c362754c..be1a2cdad60e 100644 --- a/server/src/main/java/io/druid/server/AsyncQueryForwardingServlet.java +++ b/server/src/main/java/io/druid/server/AsyncQueryForwardingServlet.java @@ -141,7 +141,8 @@ public void init() throws ServletException try { broadcastClient.start(); - } catch(Exception e) { + } + catch (Exception e) { throw new ServletException(e); } } @@ -152,7 +153,8 @@ public void destroy() super.destroy(); try { broadcastClient.stop(); - } catch(Exception e) { + } + catch (Exception e) { log.warn(e, "Error stopping servlet"); } } @@ -242,14 +244,18 @@ public void onComplete(Result result) } @Override - protected void customizeProxyRequest(Request proxyRequest, HttpServletRequest request) + protected void sendProxyRequest( + HttpServletRequest clientRequest, + HttpServletResponse proxyResponse, + Request proxyRequest + ) { proxyRequest.timeout(httpClientConfig.getReadTimeout().getMillis(), TimeUnit.MILLISECONDS); proxyRequest.idleTimeout(httpClientConfig.getReadTimeout().getMillis(), TimeUnit.MILLISECONDS); - final Query query = (Query) request.getAttribute(QUERY_ATTRIBUTE); + final Query query = (Query) clientRequest.getAttribute(QUERY_ATTRIBUTE); if (query != null) { - final ObjectMapper objectMapper = (ObjectMapper) request.getAttribute(OBJECTMAPPER_ATTRIBUTE); + final ObjectMapper objectMapper = (ObjectMapper) clientRequest.getAttribute(OBJECTMAPPER_ATTRIBUTE); try { proxyRequest.content(new BytesContentProvider(objectMapper.writeValueAsBytes(query))); } @@ -257,6 +263,12 @@ protected void customizeProxyRequest(Request proxyRequest, HttpServletRequest re Throwables.propagate(e); } } + + super.sendProxyRequest( + clientRequest, + proxyResponse, + proxyRequest + ); } @Override @@ -273,9 +285,9 @@ protected Response.Listener newProxyResponseListener( } @Override - protected URI rewriteURI(HttpServletRequest request) + protected String rewriteTarget(HttpServletRequest request) { - return rewriteURI(request, (String) request.getAttribute(HOST_ATTRIBUTE)); + return rewriteURI(request, (String) request.getAttribute(HOST_ATTRIBUTE)).toString(); } protected URI rewriteURI(HttpServletRequest request, String host) diff --git a/server/src/main/java/io/druid/server/http/OverlordProxyServlet.java b/server/src/main/java/io/druid/server/http/OverlordProxyServlet.java index 111191f28de0..a23c5702eda1 100644 --- a/server/src/main/java/io/druid/server/http/OverlordProxyServlet.java +++ b/server/src/main/java/io/druid/server/http/OverlordProxyServlet.java @@ -49,7 +49,7 @@ public class OverlordProxyServlet extends ProxyServlet } @Override - protected URI rewriteURI(HttpServletRequest request) + protected String rewriteTarget(HttpServletRequest request) { try { final Server indexer = selector.pick(); @@ -62,7 +62,7 @@ protected URI rewriteURI(HttpServletRequest request) request.getRequestURI(), request.getQueryString(), null - ); + ).toString(); } catch (URISyntaxException e) { throw Throwables.propagate(e); diff --git a/server/src/main/java/io/druid/server/initialization/jetty/JettyMonitoringConnectionFactory.java b/server/src/main/java/io/druid/server/initialization/jetty/JettyMonitoringConnectionFactory.java index 8e78187cd10a..1b787e6959d6 100644 --- a/server/src/main/java/io/druid/server/initialization/jetty/JettyMonitoringConnectionFactory.java +++ b/server/src/main/java/io/druid/server/initialization/jetty/JettyMonitoringConnectionFactory.java @@ -25,6 +25,7 @@ import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.util.component.ContainerLifeCycle; +import java.util.List; import java.util.concurrent.atomic.AtomicInteger; public class JettyMonitoringConnectionFactory extends ContainerLifeCycle implements ConnectionFactory @@ -39,6 +40,12 @@ public JettyMonitoringConnectionFactory(ConnectionFactory connectionFactory, Ato this.activeConns = activeConns; } + @Override + public List getProtocols() + { + return connectionFactory.getProtocols(); + } + @Override public String getProtocol() { diff --git a/server/src/main/java/io/druid/server/initialization/jetty/JettyRequestLog.java b/server/src/main/java/io/druid/server/initialization/jetty/JettyRequestLog.java index 56f2f443e2ff..5136ab0afee9 100644 --- a/server/src/main/java/io/druid/server/initialization/jetty/JettyRequestLog.java +++ b/server/src/main/java/io/druid/server/initialization/jetty/JettyRequestLog.java @@ -38,8 +38,8 @@ public void log(Request request, Response response) logger.debug( "%s %s %s", request.getMethod(), - request.getUri().toString(), - request.getProtocol().toString() + request.getHttpURI().toString(), + request.getProtocol() ); } } diff --git a/server/src/main/java/io/druid/server/initialization/jetty/JettyServerInitUtils.java b/server/src/main/java/io/druid/server/initialization/jetty/JettyServerInitUtils.java index c5b74f895d01..367c58a466df 100644 --- a/server/src/main/java/io/druid/server/initialization/jetty/JettyServerInitUtils.java +++ b/server/src/main/java/io/druid/server/initialization/jetty/JettyServerInitUtils.java @@ -19,7 +19,6 @@ package io.druid.server.initialization.jetty; -import com.google.common.base.Joiner; import com.google.inject.Injector; import com.google.inject.Key; import com.google.inject.TypeLiteral; @@ -28,40 +27,27 @@ import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.RequestLogHandler; +import org.eclipse.jetty.server.handler.gzip.GzipHandler; import org.eclipse.jetty.servlet.FilterHolder; import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlets.AsyncGzipFilter; -import org.eclipse.jetty.servlets.GzipFilter; import javax.ws.rs.HttpMethod; import java.util.Set; public class JettyServerInitUtils { + private static final String[] GZIP_METHODS = new String[]{HttpMethod.GET, HttpMethod.POST}; - public static final String GZIP_METHODS = Joiner.on(",").join(HttpMethod.GET, HttpMethod.POST); - - public static FilterHolder defaultGzipFilterHolder() - { - final FilterHolder gzipFilterHolder = new FilterHolder(GzipFilter.class); - setDefaultGzipFilterHolderParameters(gzipFilterHolder); - return gzipFilterHolder; - } - - public static FilterHolder defaultAsyncGzipFilterHolder() - { - final FilterHolder gzipFilterHolder = new FilterHolder(AsyncGzipFilter.class); - setDefaultGzipFilterHolderParameters(gzipFilterHolder); - return gzipFilterHolder; - } - - private static void setDefaultGzipFilterHolderParameters(final FilterHolder filterHolder) + public static GzipHandler wrapWithDefaultGzipHandler(final Handler handler) { - filterHolder.setInitParameter("minGzipSize", "0"); - filterHolder.setInitParameter("methods", GZIP_METHODS); + GzipHandler gzipHandler = new GzipHandler(); + gzipHandler.setMinGzipSize(0); + gzipHandler.setIncludedMethods(GZIP_METHODS); // We don't actually have any precomputed .gz resources, and checking for them inside jars is expensive. - filterHolder.setInitParameter("checkGzExists", String.valueOf(false)); + gzipHandler.setCheckGzExists(false); + gzipHandler.setHandler(handler); + return gzipHandler; } public static void addExtensionFilters(ServletContextHandler handler, Injector injector) diff --git a/server/src/test/java/io/druid/server/AsyncQueryForwardingServletTest.java b/server/src/test/java/io/druid/server/AsyncQueryForwardingServletTest.java index 02e048e19f5b..b2d19a28baed 100644 --- a/server/src/test/java/io/druid/server/AsyncQueryForwardingServletTest.java +++ b/server/src/test/java/io/druid/server/AsyncQueryForwardingServletTest.java @@ -249,13 +249,12 @@ protected URI rewriteURI(HttpServletRequest request, String host) root.addServlet(holder, "/proxy/*"); root.addServlet(holder, "/druid/v2/*"); JettyServerInitUtils.addExtensionFilters(root, injector); - root.addFilter(JettyServerInitUtils.defaultAsyncGzipFilterHolder(), "/*", null); root.addFilter(GuiceFilter.class, "/slow/*", null); root.addFilter(GuiceFilter.class, "/default/*", null); root.addFilter(GuiceFilter.class, "/exception/*", null); final HandlerList handlerList = new HandlerList(); - handlerList.setHandlers(new Handler[]{root}); + handlerList.setHandlers(new Handler[]{JettyServerInitUtils.wrapWithDefaultGzipHandler(root)}); server.setHandler(handlerList); } } diff --git a/server/src/test/java/io/druid/server/http/OverlordProxyServletTest.java b/server/src/test/java/io/druid/server/http/OverlordProxyServletTest.java index 8860f294a6d8..20ad1f17dd5f 100644 --- a/server/src/test/java/io/druid/server/http/OverlordProxyServletTest.java +++ b/server/src/test/java/io/druid/server/http/OverlordProxyServletTest.java @@ -43,7 +43,7 @@ public void testRewriteURI() EasyMock.expect(request.getRequestURI()).andReturn("/druid/overlord/worker").anyTimes(); EasyMock.replay(server, selector, request); - URI uri = new OverlordProxyServlet(selector).rewriteURI(request); + URI uri = URI.create(new OverlordProxyServlet(selector).rewriteTarget(request)); Assert.assertEquals("https://overlord:port/druid/overlord/worker?param1=test¶m2=test2", uri.toString()); } diff --git a/server/src/test/java/io/druid/server/initialization/BaseJettyTest.java b/server/src/test/java/io/druid/server/initialization/BaseJettyTest.java index 6969da2d291c..7bd4697099da 100644 --- a/server/src/test/java/io/druid/server/initialization/BaseJettyTest.java +++ b/server/src/test/java/io/druid/server/initialization/BaseJettyTest.java @@ -139,11 +139,10 @@ public void initialize(Server server, Injector injector) final ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS); root.addServlet(new ServletHolder(new DefaultServlet()), "/*"); JettyServerInitUtils.addExtensionFilters(root, injector); - root.addFilter(JettyServerInitUtils.defaultGzipFilterHolder(), "/*", null); root.addFilter(GuiceFilter.class, "/*", null); final HandlerList handlerList = new HandlerList(); - handlerList.setHandlers(new Handler[]{root}); + handlerList.setHandlers(new Handler[]{JettyServerInitUtils.wrapWithDefaultGzipHandler(root)}); server.setHandler(handlerList); } diff --git a/services/src/main/java/io/druid/cli/CliOverlord.java b/services/src/main/java/io/druid/cli/CliOverlord.java index 4e9b822607b7..4cf831e9f99a 100644 --- a/services/src/main/java/io/druid/cli/CliOverlord.java +++ b/services/src/main/java/io/druid/cli/CliOverlord.java @@ -276,7 +276,6 @@ public void initialize(Server server, Injector injector) ) ); JettyServerInitUtils.addExtensionFilters(root, injector); - root.addFilter(JettyServerInitUtils.defaultGzipFilterHolder(), "/*", null); // /status should not redirect, so add first root.addFilter(GuiceFilter.class, "/status/*", null); @@ -288,7 +287,12 @@ public void initialize(Server server, Injector injector) root.addFilter(GuiceFilter.class, "/druid/*", null); HandlerList handlerList = new HandlerList(); - handlerList.setHandlers(new Handler[]{JettyServerInitUtils.getJettyRequestLogHandler(), root}); + handlerList.setHandlers( + new Handler[]{ + JettyServerInitUtils.getJettyRequestLogHandler(), + JettyServerInitUtils.wrapWithDefaultGzipHandler(root) + } + ); server.setHandler(handlerList); } diff --git a/services/src/main/java/io/druid/cli/CoordinatorJettyServerInitializer.java b/services/src/main/java/io/druid/cli/CoordinatorJettyServerInitializer.java index f4a70b5f0cce..8ba2152a460a 100644 --- a/services/src/main/java/io/druid/cli/CoordinatorJettyServerInitializer.java +++ b/services/src/main/java/io/druid/cli/CoordinatorJettyServerInitializer.java @@ -69,7 +69,6 @@ public void initialize(Server server, Injector injector) root.setResourceBase(config.getConsoleStatic()); } JettyServerInitUtils.addExtensionFilters(root, injector); - root.addFilter(JettyServerInitUtils.defaultGzipFilterHolder(), "/*", null); // /status should not redirect, so add first root.addFilter(GuiceFilter.class, "/status/*", null); @@ -87,7 +86,12 @@ public void initialize(Server server, Injector injector) root.addServlet(new ServletHolder(injector.getInstance(OverlordProxyServlet.class)), "/druid/indexer/*"); HandlerList handlerList = new HandlerList(); - handlerList.setHandlers(new Handler[]{JettyServerInitUtils.getJettyRequestLogHandler(), root}); + handlerList.setHandlers( + new Handler[]{ + JettyServerInitUtils.getJettyRequestLogHandler(), + JettyServerInitUtils.wrapWithDefaultGzipHandler(root) + } + ); server.setHandler(handlerList); } diff --git a/services/src/main/java/io/druid/cli/MiddleManagerJettyServerInitializer.java b/services/src/main/java/io/druid/cli/MiddleManagerJettyServerInitializer.java index 91507b39cff6..48c99baa6edc 100644 --- a/services/src/main/java/io/druid/cli/MiddleManagerJettyServerInitializer.java +++ b/services/src/main/java/io/druid/cli/MiddleManagerJettyServerInitializer.java @@ -41,14 +41,13 @@ public void initialize(Server server, Injector injector) final ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS); root.addServlet(new ServletHolder(new DefaultServlet()), "/*"); JettyServerInitUtils.addExtensionFilters(root, injector); - root.addFilter(JettyServerInitUtils.defaultGzipFilterHolder(), "/*", null); root.addFilter(GuiceFilter.class, "/*", null); final HandlerList handlerList = new HandlerList(); handlerList.setHandlers( new Handler[]{ JettyServerInitUtils.getJettyRequestLogHandler(), - root, + JettyServerInitUtils.wrapWithDefaultGzipHandler(root), new DefaultHandler() } ); diff --git a/services/src/main/java/io/druid/cli/QueryJettyServerInitializer.java b/services/src/main/java/io/druid/cli/QueryJettyServerInitializer.java index c4bbf32acf7d..d3d3f8b9fd43 100644 --- a/services/src/main/java/io/druid/cli/QueryJettyServerInitializer.java +++ b/services/src/main/java/io/druid/cli/QueryJettyServerInitializer.java @@ -53,14 +53,13 @@ public void initialize(Server server, Injector injector) final ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS); root.addServlet(new ServletHolder(new DefaultServlet()), "/*"); JettyServerInitUtils.addExtensionFilters(root, injector); - root.addFilter(JettyServerInitUtils.defaultGzipFilterHolder(), "/*", null); root.addFilter(GuiceFilter.class, "/*", null); final HandlerList handlerList = new HandlerList(); final Handler[] handlers = new Handler[extensionHandlers.size() + 2]; handlers[0] = JettyServerInitUtils.getJettyRequestLogHandler(); - handlers[handlers.length - 1] = root; + handlers[handlers.length - 1] = JettyServerInitUtils.wrapWithDefaultGzipHandler(root); for (int i = 0; i < extensionHandlers.size(); i++) { handlers[i + 1] = extensionHandlers.get(i); } diff --git a/services/src/main/java/io/druid/cli/RouterJettyServerInitializer.java b/services/src/main/java/io/druid/cli/RouterJettyServerInitializer.java index 684281234991..9622ffb799a1 100644 --- a/services/src/main/java/io/druid/cli/RouterJettyServerInitializer.java +++ b/services/src/main/java/io/druid/cli/RouterJettyServerInitializer.java @@ -64,12 +64,16 @@ public void initialize(Server server, Injector injector) root.addServlet(sh, "/druid/v2/*"); JettyServerInitUtils.addExtensionFilters(root, injector); - root.addFilter(JettyServerInitUtils.defaultAsyncGzipFilterHolder(), "/*", null); // Can't use '/*' here because of Guice conflicts with AsyncQueryForwardingServlet path root.addFilter(GuiceFilter.class, "/status/*", null); final HandlerList handlerList = new HandlerList(); - handlerList.setHandlers(new Handler[]{JettyServerInitUtils.getJettyRequestLogHandler(), root}); + handlerList.setHandlers( + new Handler[]{ + JettyServerInitUtils.getJettyRequestLogHandler(), + JettyServerInitUtils.wrapWithDefaultGzipHandler(root) + } + ); server.setHandler(handlerList); } } From 43d7af45e6d9f827d211db49270925851889d006 Mon Sep 17 00:00:00 2001 From: Gian Merlino Date: Wed, 8 Feb 2017 20:50:42 -0800 Subject: [PATCH 2/3] Update cluster, quickstart docs. --- docs/content/tutorials/cluster.md | 2 +- docs/content/tutorials/quickstart.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/content/tutorials/cluster.md b/docs/content/tutorials/cluster.md index cd0d34ab61d3..be92c0b7d8dd 100644 --- a/docs/content/tutorials/cluster.md +++ b/docs/content/tutorials/cluster.md @@ -46,7 +46,7 @@ Very large clusters should consider selecting larger servers. We recommend running your favorite Linux distribution. You will also need: - * Java 7 or better + * Java 8 or better Your OS package manager should be able to help for both Java. If your Ubuntu-based OS does not have a recent enough version of Java, WebUpd8 offers [packages for those diff --git a/docs/content/tutorials/quickstart.md b/docs/content/tutorials/quickstart.md index 0c396b1c5cf5..0c38194fcaa3 100644 --- a/docs/content/tutorials/quickstart.md +++ b/docs/content/tutorials/quickstart.md @@ -10,7 +10,7 @@ In this quickstart, we will download Druid, set up it up on a single machine, lo You will need: - * Java 7 or higher + * Java 8 or higher * Linux, Mac OS X, or other Unix-like OS (Windows is not supported) * 8G of RAM * 2 vCPUs From 3310355c25f1cdf6b8f3239230d1c61bad20b835 Mon Sep 17 00:00:00 2001 From: Gian Merlino Date: Tue, 14 Feb 2017 11:03:47 -0800 Subject: [PATCH 3/3] Remove oraclejdk7 from travis.yml. --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f09676aacbab..6d9068c56b8d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: java jdk: - - oraclejdk7 - oraclejdk8 script: