Skip to content

Commit 3fdc7cd

Browse files
Limit skipRemoteEnrichVerification to Local planning
1 parent bd6b731 commit 3fdc7cd

File tree

7 files changed

+21
-17
lines changed

7 files changed

+21
-17
lines changed

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/optimizer/LocalLogicalPlanOptimizer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ private static Batch<LogicalPlan> localOperators() {
8686

8787
public LogicalPlan localOptimize(LogicalPlan plan) {
8888
LogicalPlan optimized = execute(plan);
89-
Failures failures = verifier.verify(optimized);
89+
Failures failures = verifier.verify(optimized, true);
9090
if (failures.hasFailures()) {
9191
throw new VerificationException(failures);
9292
}

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/optimizer/LocalPhysicalPlanOptimizer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public PhysicalPlan localOptimize(PhysicalPlan plan) {
4646
}
4747

4848
PhysicalPlan verify(PhysicalPlan plan) {
49-
Failures failures = verifier.verify(plan);
49+
Failures failures = verifier.verify(plan, true);
5050
if (failures.hasFailures()) {
5151
throw new VerificationException(failures);
5252
}

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/optimizer/LogicalPlanOptimizer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public LogicalPlanOptimizer(LogicalOptimizerContext optimizerContext) {
112112
public LogicalPlan optimize(LogicalPlan verified) {
113113
var optimized = execute(verified);
114114

115-
Failures failures = verifier.verify(optimized);
115+
Failures failures = verifier.verify(optimized, false);
116116
if (failures.hasFailures()) {
117117
throw new VerificationException(failures);
118118
}

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/optimizer/LogicalVerifier.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,16 @@ public final class LogicalVerifier {
2020
private LogicalVerifier() {}
2121

2222
/** Verifies the optimized logical plan. */
23-
public Failures verify(LogicalPlan plan) {
23+
public Failures verify(LogicalPlan plan, boolean skipRemoteEnrichVerification) {
2424
Failures failures = new Failures();
2525
Failures dependencyFailures = new Failures();
2626

27-
// AwaitsFix https://github.com/elastic/elasticsearch/issues/118531
28-
var enriches = plan.collectFirstChildren(Enrich.class::isInstance);
29-
if (enriches.isEmpty() == false && ((Enrich) enriches.get(0)).mode() == Enrich.Mode.REMOTE) {
30-
return failures;
27+
if(skipRemoteEnrichVerification) {
28+
// AwaitsFix https://github.com/elastic/elasticsearch/issues/118531
29+
var enriches = plan.collectFirstChildren(Enrich.class::isInstance);
30+
if (enriches.isEmpty() == false && ((Enrich) enriches.get(0)).mode() == Enrich.Mode.REMOTE) {
31+
return failures;
32+
}
3133
}
3234

3335
plan.forEachUp(p -> {

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/optimizer/PhysicalPlanOptimizer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public PhysicalPlan optimize(PhysicalPlan plan) {
3838
}
3939

4040
PhysicalPlan verify(PhysicalPlan plan) {
41-
Failures failures = verifier.verify(plan);
41+
Failures failures = verifier.verify(plan, false);
4242
if (failures.hasFailures()) {
4343
throw new VerificationException(failures);
4444
}

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/optimizer/PhysicalVerifier.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,16 @@ public final class PhysicalVerifier {
2727
private PhysicalVerifier() {}
2828

2929
/** Verifies the physical plan. */
30-
public Failures verify(PhysicalPlan plan) {
30+
public Failures verify(PhysicalPlan plan, boolean skipRemoteEnrichVerification) {
3131
Failures failures = new Failures();
3232
Failures depFailures = new Failures();
3333

34-
// AwaitsFix https://github.com/elastic/elasticsearch/issues/118531
35-
var enriches = plan.collectFirstChildren(EnrichExec.class::isInstance);
36-
if (enriches.isEmpty() == false && ((EnrichExec) enriches.get(0)).mode() == Enrich.Mode.REMOTE) {
37-
return failures;
34+
if (skipRemoteEnrichVerification){
35+
// AwaitsFix https://github.com/elastic/elasticsearch/issues/118531
36+
var enriches = plan.collectFirstChildren(EnrichExec.class::isInstance);
37+
if (enriches.isEmpty() == false && ((EnrichExec) enriches.get(0)).mode() == Enrich.Mode.REMOTE) {
38+
return failures;
39+
}
3840
}
3941

4042
plan.forEachDown(p -> {

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/optimizer/LogicalPlanOptimizerTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5554,7 +5554,7 @@ public void testPushShadowingGeneratingPlanPastProject() {
55545554
List<Attribute> initialGeneratedExprs = ((GeneratingPlan) initialPlan).generatedAttributes();
55555555
LogicalPlan optimizedPlan = testCase.rule.apply(initialPlan);
55565556

5557-
Failures inconsistencies = LogicalVerifier.INSTANCE.verify(optimizedPlan);
5557+
Failures inconsistencies = LogicalVerifier.INSTANCE.verify(optimizedPlan, false);
55585558
assertFalse(inconsistencies.hasFailures());
55595559

55605560
Project project = as(optimizedPlan, Project.class);
@@ -5605,7 +5605,7 @@ public void testPushShadowingGeneratingPlanPastRenamingProject() {
56055605
List<Attribute> initialGeneratedExprs = ((GeneratingPlan) initialPlan).generatedAttributes();
56065606
LogicalPlan optimizedPlan = testCase.rule.apply(initialPlan);
56075607

5608-
Failures inconsistencies = LogicalVerifier.INSTANCE.verify(optimizedPlan);
5608+
Failures inconsistencies = LogicalVerifier.INSTANCE.verify(optimizedPlan, false);
56095609
assertFalse(inconsistencies.hasFailures());
56105610

56115611
Project project = as(optimizedPlan, Project.class);
@@ -5661,7 +5661,7 @@ public void testPushShadowingGeneratingPlanPastRenamingProjectWithResolution() {
56615661

56625662
// This ensures that our generating plan doesn't use invalid references, resp. that any rename from the Project has
56635663
// been propagated into the generating plan.
5664-
Failures inconsistencies = LogicalVerifier.INSTANCE.verify(optimizedPlan);
5664+
Failures inconsistencies = LogicalVerifier.INSTANCE.verify(optimizedPlan, false);
56655665
assertFalse(inconsistencies.hasFailures());
56665666

56675667
Project project = as(optimizedPlan, Project.class);

0 commit comments

Comments
 (0)