From 3291e047efb4ea0df77276468ba1942668c8a6cb Mon Sep 17 00:00:00 2001 From: Gian Merlino Date: Wed, 27 Sep 2017 10:58:24 -0700 Subject: [PATCH] Fix Router handling of SQL queries. (#4851) --- .../java/io/druid/server/AsyncQueryForwardingServlet.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/io/druid/server/AsyncQueryForwardingServlet.java b/server/src/main/java/io/druid/server/AsyncQueryForwardingServlet.java index e052ff2f3119..0719c5d7d15d 100644 --- a/server/src/main/java/io/druid/server/AsyncQueryForwardingServlet.java +++ b/server/src/main/java/io/druid/server/AsyncQueryForwardingServlet.java @@ -180,7 +180,10 @@ protected void service(HttpServletRequest request, HttpServletResponse response) request.setAttribute(HOST_ATTRIBUTE, defaultServer.getHost()); request.setAttribute(SCHEME_ATTRIBUTE, defaultServer.getScheme()); - final boolean isQueryEndpoint = request.getRequestURI().startsWith("/druid/v2"); + // The Router does not have the ability to look inside SQL queries and route them intelligently, so just treat + // them as a generic request. + final boolean isQueryEndpoint = request.getRequestURI().startsWith("/druid/v2") + && !request.getRequestURI().startsWith("/druid/v2/sql"); if (isQueryEndpoint && HttpMethod.DELETE.is(request.getMethod())) { // query cancellation request