Conversation
c8dd219 to
93f429c
Compare
93f429c to
ce89abb
Compare
ce89abb to
56a3cce
Compare
server/src/main/java/org/apache/druid/server/QueryLifecycleFactory.java
Outdated
Show resolved
Hide resolved
|
|
||
| Broker dynamic configuration is managed through the Coordinator but consumed by Brokers. | ||
| These settings control broker behavior such as query blocking rules. | ||
| These settings control broker behavior such as query blocking rules and default query context values. |
There was a problem hiding this comment.
For the blocking we have this warning:
Note: Query blocking is best-effort. Queries may not be blocked in certain cases, such as when a Broker has recently started and hasn't received the config yet, or if the Broker cannot contact the Coordinator. Brokers poll the configuration periodically (default every 1 minute) and also receive push updates from the Coordinator for immediate propagation.
I think we need a similar warning for context. Maybe put this warning at the top of the "Broker dynamic configuration" section and make clear it applies to everything in here. I say this because in case default query context properties are "important" (i.e. operators really want them to always be set) they may be surprised that they are in fact not necessarily always going to be set.
This also makes me think at some point we might want to add a mode to make them actually guaranteed, i.e., block Broker startup until first sync of dynamic config. Doesn't have to be done in this PR.
There was a problem hiding this comment.
Sure. I think we can make this an opt-in config on the broker, but I think it should be a separate change.
server/src/main/java/org/apache/druid/client/BrokerViewOfBrokerConfig.java
Outdated
Show resolved
Hide resolved
b06b73e to
70ebff4
Compare
70ebff4 to
a88ee7f
Compare
|
@gianm thoughts here? |
|
@gianm any thoughts here? |
Description
Query context can currently be supplied via 3 places:
contextoverride field.Neither of these two options are helpful for tuning "default" query context values as with 1) you need to constantly re-deploy as you tune and 2) you rely on the user to set these values (not good).
This introduces a fourth query context resolution layer in the broker dynamic config. Resolution order is now:
contextRelease note
Add dynamic default query context to brokers. Allows operators to quickly tune the default setting for query context values without requiring a re-deployment or forcing upstream clients to update their queries.
This PR has: