Skip to content

Commit 89c781c

Browse files
committed
fix enrich targets
1 parent 16fe6ae commit 89c781c

File tree

1 file changed

+12
-3
lines changed
  • x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/session

1 file changed

+12
-3
lines changed

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/session/EsqlSession.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.elasticsearch.indices.IndicesExpressionGrouper;
2424
import org.elasticsearch.logging.LogManager;
2525
import org.elasticsearch.logging.Logger;
26+
import org.elasticsearch.transport.RemoteClusterAware;
2627
import org.elasticsearch.xpack.esql.VerificationException;
2728
import org.elasticsearch.xpack.esql.action.EsqlExecutionInfo;
2829
import org.elasticsearch.xpack.esql.action.EsqlQueryRequest;
@@ -81,6 +82,7 @@
8182

8283
import java.util.ArrayList;
8384
import java.util.HashMap;
85+
import java.util.HashSet;
8486
import java.util.Iterator;
8587
import java.util.List;
8688
import java.util.Map;
@@ -361,10 +363,8 @@ public void analyzedPlan(
361363
EsqlCCSUtils.checkForCcsLicense(executionInfo, indices, indicesExpressionGrouper, configuredClusters, verifier.licenseState());
362364
initializeClusterData(indices, executionInfo);
363365

364-
final Set<String> targetClusters = executionInfo.getClusters().keySet();
365-
366366
var listener = SubscribableListener.<EnrichResolution>newForked(
367-
l -> enrichPolicyResolver.resolvePolicies(targetClusters, unresolvedPolicies, executionInfo, l)
367+
l -> enrichPolicyResolver.resolvePolicies(getEnrichTargets(executionInfo), unresolvedPolicies, executionInfo, l)
368368
)
369369
.<PreAnalysisResult>andThen((l, enrichResolution) -> resolveFieldNames(parsed, enrichResolution, l))
370370
.<PreAnalysisResult>andThen((l, preAnalysisResult) -> resolveInferences(preAnalysis.inferencePlans, preAnalysisResult, l));
@@ -413,6 +413,15 @@ public void analyzedPlan(
413413
}).addListener(logicalPlanListener);
414414
}
415415

416+
private static Set<String> getEnrichTargets(EsqlExecutionInfo executionInfo) {
417+
Set<String> targetClusters = executionInfo.getClusters().keySet();
418+
if (targetClusters.isEmpty()) {
419+
// Always include local cluster for enrich resolution
420+
return Set.of(RemoteClusterAware.LOCAL_CLUSTER_GROUP_KEY);
421+
}
422+
return targetClusters;
423+
}
424+
416425
private void preAnalyzeLookupIndex(IndexPattern table, PreAnalysisResult result, ActionListener<PreAnalysisResult> listener) {
417426
Set<String> fieldNames = result.wildcardJoinIndices().contains(table.indexPattern()) ? IndexResolver.ALL_FIELDS : result.fieldNames;
418427
// call the EsqlResolveFieldsAction (field-caps) to resolve indices and get field types

0 commit comments

Comments
 (0)