From 53994882c4f065f3b6576af3c201178eebf1fa3f Mon Sep 17 00:00:00 2001 From: waterWang Date: Sun, 2 Aug 2026 18:22:30 +0800 Subject: [PATCH] fix: synchronize GraalVM JavaScript context access in JavaScriptTieredBrokerSelectorStrategy (#18253) --- .../router/JavaScriptTieredBrokerSelectorStrategy.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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)); }