mirror of https://github.com/apache/druid.git
1ddbaa8744
This PR uses the QoSFilter available in Jetty to park the query requests that exceed a configured limit. This is done so that other HTTP requests such as health check calls do not get blocked if the query server is busy serving long-running queries. The same mechanism can also be used in the future to isolate interactive queries from long-running select queries from interactive queries within the same broker. Right now, you can still get that isolation by setting druid.query.scheduler.numThreads to a value lowe than druid.server.http.numThreads. That enables total laning but the side effect is that excess requests are not queued and rejected outright that leads to a bad user experience. Parked requests are timed out after 30 seconds by default. I overrode that to the maxQueryTimeout in this PR. |
||
---|---|---|
.. | ||
src | ||
pom.xml |