diff --git a/services/src/main/java/org/apache/druid/server/router/JavaScriptTieredBrokerSelectorStrategy.java b/services/src/main/java/org/apache/druid/server/router/JavaScriptTieredBrokerSelectorStrategy.java index b6a1995a64b0..aff305314d16 100644 --- a/services/src/main/java/org/apache/druid/server/router/JavaScriptTieredBrokerSelectorStrategy.java +++ b/services/src/main/java/org/apache/druid/server/router/JavaScriptTieredBrokerSelectorStrategy.java @@ -53,9 +53,11 @@ public JavaScriptTieredBrokerSelectorStrategy( } @Override - public Optional getBrokerServiceName(TieredBrokerConfig config, Query query) + public synchronized Optional getBrokerServiceName(TieredBrokerConfig config, Query query) { - fnSelector = fnSelector == null ? JavaScriptUtil.compileSelectorFunction(SelectorFunction.class, function) : fnSelector; + if (fnSelector == null) { + fnSelector = JavaScriptUtil.compileSelectorFunction(SelectorFunction.class, function); + } return Optional.fromNullable(fnSelector.apply(config, query)); }