Skip to content

ES|QL: plan optimized incorrectly due to missing references #138231

@luigidellaquila

Description

@luigidellaquila

I couldn't manage to reproduce it locally, but generative tests show this failure mostly in multi-node tests, see #137909

    java.lang.AssertionError: query: from languages_mixed_nume*,countries_bbox_web | inline stats  `language_name` = values(id), kfMuwvlOYjo = min(language_code_double) + avg(language_code_double) + avg(language_code_double) by name | keep language_code_long, `language_code_byte`, `language_code_integer`, `id`, `language_code_short`, language_name, kfMuw*, language_code_half_float, `language_code_float` | keep `language_code_half_float`, language_code_byte, language_code_long, `language_code_integer`, `language_code_short`, id, language_code_float, `language_code_float`, language_code_half_float | eval  QhJVFSxTwtm = length(id) | inline stats  VQvDhnpgTpp = present(id) by QhJVFSxTwtm | FORK  (where  NOT false OR  NOT false) (where false AND  NOT false) (where true | where  NOT false  | where  NOT language_code_float >= 50) | WHERE _fork == "fork1" | DROP _fork
exception: unexpected partial results: _clusters={details={(local)={_shards={total=2, failed=1, successful=1, skipped=0}, took=109, indices=languages_mixed_nume*,countries_bbox_web, failures=[{node=null, reason={reason=Found 1 problem
line -1:-1: Plan [Eval[[$$id$LENGTH$1781968078{f$}#4863 AS QhJVFSxTwtm#4848]]] optimized incorrectly due to missing references [$$id$LENGTH$1781968078{f$}#4863], type=illegal_state_exception}, index=countries_bbox_web, shard=0}, {node=null, reason={reason=Found 1 problem
line -1:-1: Plan [Eval[[$$id$LENGTH$1807334369{f$}#4934 AS QhJVFSxTwtm#4919]]] optimized incorrectly due to missing references [$$id$LENGTH$1807334369{f$}#4934], type=illegal_state_exception}, index=countries_bbox_web, shard=0}, {node=null, reason={reason=Found 1 problem
line 1:569: Plan [Eval[[$$id$LENGTH$-215400341{f$}#4900 AS QhJVFSxTwtm#4777]]] optimized incorrectly due to missing references [$$id$LENGTH$-215400341{f$}#4900], type=illegal_state_exception}, index=countries_bbox_web, shard=0}], status=partial}}}
Expected: (null or is <false>)
     but: was <true>
    at __randomizedtesting.SeedInfo.seed([3D6564D2A994A367:B5315B080768CE9F]:0)
    at org.junit.Assert.fail(Assert.java:89)
    at org.elasticsearch.xpack.esql.qa.rest.generative.GenerativeRestTest.checkException(GenerativeRestTest.java:209)
    at org.elasticsearch.xpack.esql.qa.rest.generative.GenerativeRestTest$1.run(GenerativeRestTest.java:139)
    at org.elasticsearch.xpack.esql.generator.EsqlQueryGenerator.generatePipeline(EsqlQueryGenerator.java:159)
    at org.elasticsearch.xpack.esql.qa.rest.generative.GenerativeRestTest.test(GenerativeRestTest.java:169)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:565)
    at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1763)
    at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:946)
    at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:982)
    at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:996)
    at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
    at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)

I'm labeling it as medium risk since it's preventing generative tests from checking plan integrity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    :Analytics/ES|QLAKA ESQL>bugTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)backportmedium-riskAn open issue or test failure that is a medium risk to future releases

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions