Skip to content

minor: Add QOS filtering for coordinator endpoints#19271

Open
cryptoe wants to merge 2 commits intoapache:masterfrom
cryptoe:qos_filltering
Open

minor: Add QOS filtering for coordinator endpoints#19271
cryptoe wants to merge 2 commits intoapache:masterfrom
cryptoe:qos_filltering

Conversation

@cryptoe
Copy link
Copy Markdown
Contributor

@cryptoe cryptoe commented Apr 7, 2026

Add QoS filtering to the Coordinator to protect health check endpoints under load

The Coordinator had no request throttling, meaning a burst of slow API requests (segment load status, datasource queries, compaction configs, etc.) could exhaust the Jetty thread pool and make /status/health and /status/ready unresponsive. This is the same problem the Overlord solved in #18033 for its action endpoints.

@cryptoe cryptoe changed the title Add QOS filtering for coordinator endpoints minor: Add QOS filtering for coordinator endpoints Apr 7, 2026
public static int getNumThreadsFromProperties(Properties properties)
{
final String value = properties.getProperty("druid.server.http.numThreads");
return value == null ? getDefaultNumThreads() : Integer.parseInt(value);
// Set druid.coordinator.server.maxConcurrentRequests=-1 to disable.
final int serverHttpNumThreads = ServerConfig.getNumThreadsFromProperties(properties);
final int maxConcurrentRequests = properties.containsKey("druid.coordinator.server.maxConcurrentRequests")
? Integer.parseInt(properties.getProperty("druid.coordinator.server.maxConcurrentRequests"))
// Set druid.indexer.server.maxConcurrentActions=-1 to disable.
final int serverHttpNumThreads = ServerConfig.getNumThreadsFromProperties(properties);
final int maxConcurrentActions = properties.containsKey("druid.indexer.server.maxConcurrentActions")
? Integer.parseInt(properties.getProperty("druid.indexer.server.maxConcurrentActions"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants