Datasource based exemption from deprioritization#17416
Datasource based exemption from deprioritization#17416aruraghuwanshi wants to merge 7 commits intoapache:masterfrom
Conversation
|
Just my 2c,
|
| @JsonProperty("durationThreshold") @Nullable String durationThresholdString, | ||
| @JsonProperty("segmentCountThreshold") @Nullable Integer segmentCountThreshold, | ||
| @JsonProperty("segmentRangeThreshold") @Nullable String segmentRangeThresholdString, | ||
| @JsonProperty("exemptDatasources") @Nullable Set<String> exemptDatasources, |
There was a problem hiding this comment.
This might lead to more issues like one query hogging the cluster for the exempt data source and all your query lanning goes for a toss. Should we revert the logic, ie if an "lowPriorityDataSource" is hit, lower the priority always. That way the cluster can be saved against outages ? Its better to err on the side of caution no ?
Since there is no clear answer here :
- What do other data bases do ?
- What's your practical experience running this config in production.
|
This pull request has been marked as stale due to 60 days of inactivity. |
|
This pull request/issue has been closed due to lack of activity. If you think that |
Description
As of today tthere isn't a way to define high/low priority datasources. There are situations where we want to deprioritize queries based on the already present time based thresholds, but its possible that the druid cluster might host datasources that are higher in priority compared to others. For this reason, I've added another Optional json parameter
exemptDatasources, which would host those high-priority datasources, which will skip the deprioritization logic entirely if the query being executed hosts any of the exempted datasources.Updated the class ThresholdBasedQueryPrioritizationStrategy.
This PR has: