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:
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/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
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 3aa17aad7fae..e7ab6ad12703 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
+
@@ -1002,17 +1006,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);
}
}