[CI] MixedClusterEsqlSpecIT Test {string.LucenePushdownMixOrAnd SYNC} Failing
Introduction
In this article, we will be discussing a failing test case in the Elasticsearch project, specifically the MixedClusterEsqlSpecIT test with the method {string.LucenePushdownMixOrAnd SYNC}. This test is part of the Elasticsearch X-Pack ESQL (Elasticsearch Query Language) plugin, which is used for querying and manipulating data in Elasticsearch. The test is failing on multiple builds, and we will be analyzing the failure history and applicable branches to identify the root cause of the issue.
Build Scans
The following build scans are relevant to this issue:
- elasticsearch-periodic #6948 / 8.11.4_bwc
- elasticsearch-periodic #6941 / 8.14.3_bwc
- elasticsearch-periodic #6941 / 8.11.4_bwc
- elasticsearch-periodic #6941 / 8.12.2_bwc
These build scans show that the test is failing on multiple builds, including the 8.11.4_bwc and 8.12.2_bwc branches.
Reproduction Line
The reproduction line for this issue is:
./gradlew ":x-pack:plugin:esql:qa:server:mixed-cluster:v8.11.4#javaRestTest" -Dtests.class="org.elasticsearch.xpack.esql.qa.mixed.MixedClusterEsqlSpecIT" -Dtests.method="test {string.LucenePushdownMultipleAnd SYNC}" -Dtests.seed=25A509DC24C046BA -Dtests.bwc=true -Dtests.locale=smn -Dtests.timezone=CNT -Druntime.java=24
This command runs the MixedClusterEsqlSpecIT test with the method {string.LucenePushdownMultipleAnd SYNC} on the 8.11.4_bwc branch.
Applicable Branches
The applicable branches for this issue are:
- 8.x
This means that the issue is relevant to the 8.x branch of the Elasticsearch project.
Reproduces Locally?
The issue does not reproduce locally.
Failure History
The failure history for this issue is:
This dashboard shows the failure history for the MixedClusterEsqlSpecIT test with the method {string.LucenePushdownMixOrAnd SYNC}.
Failure Message
The failure message for this issue is:
org.elasticsearch.client.ResponseException: method [POST], host [http://[::1]:45137], URI [/_query?format=yaml&pretty=true&error_trace=true], status line [HTTP/1.1 400 Bad Request]
---
error:
root_cause:
- type: "parsing_exception"
reason: "line 1:15: mismatched input 'metadata' expecting {<EOF>, PIPE, COMMA,\
\ OPENING_BRACKET}"
stack_trace: "org.elasticsearch.xpack.esql.parser.ParsingException: line 1:15:\
\ mismatched input 'metadata' expecting {<EOF>, PIPE, COMMA, OPENING_BRACKET}\n\
\tat org.elasticsearch.xpack.esql.parser.EsqlParser$1.syntaxError(EsqlParser.java:109)\n\
\tat org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)\n\
\tat org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:544)\n\tat\
\ org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:327)\n\
\tat org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:139)\n\
[truncated]
This failure message shows that the test is failing due to a parsing exception in the ESQL parser.
Issue Reasons
The issue reasons for this issue are:
- [8.x] 2 consecutive failures in step 8.11.4_bwc
- [8.x] 4 failures in test test {string.LucenePushdownMixOrAnd SYNC} (4.2% fail rate in 96 executions)
- [8.x] 2 failures in step 8.11.4_bwc (100.0% fail rate in 2 executions)
- [8.x] 2 failures in pipeline elasticsearch-periodic (100.0% fail rate in 2 executions)
These issue reasons show that the test is failing on multiple builds and branches.
Note
This issue was created using new test triage automation. Please report issues or feedback to es-delivery.
Q: What is the MixedClusterEsqlSpecIT test?
A: The MixedClusterEsqlSpecIT test is a test case in the Elasticsearch project that tests the functionality of the ESQL (Elasticsearch Query Language) plugin. This test is designed to verify that the ESQL plugin is working correctly in a mixed cluster environment.
Q: What is the {string.LucenePushdownMixOrAnd SYNC} method?
A: The {string.LucenePushdownMixOrAnd SYNC} method is a specific test method within the MixedClusterEsqlSpecIT test. This method tests the functionality of the ESQL plugin when using the Lucene pushdown feature with a mix of OR and AND operators.
Q: Why is the test failing?
A: The test is failing due to a parsing exception in the ESQL parser. The failure message shows that the parser is expecting a specific input, but is instead receiving a mismatched input.
Q: What is the root cause of the parsing exception?
A: The root cause of the parsing exception is not immediately clear. However, based on the failure message, it appears that the ESQL parser is having trouble parsing the input due to a mismatched input.
Q: How can I reproduce the issue?
A: To reproduce the issue, you can run the following command:
./gradlew ":x-pack:plugin:esql:qa:server:mixed-cluster:v8.11.4#javaRestTest" -Dtests.class="org.elasticsearch.xpack.esql.qa.mixed.MixedClusterEsqlSpecIT" -Dtests.method="test {string.LucenePushdownMultipleAnd SYNC}" -Dtests.seed=25A509DC24C046BA -Dtests.bwc=true -Dtests.locale=smn -Dtests.timezone=CNT -Druntime.java=24
This command will run the MixedClusterEsqlSpecIT test with the method {string.LucenePushdownMultipleAnd SYNC} on the 8.11.4_bwc branch.
Q: What are the applicable branches for this issue?
A: The applicable branches for this issue are:
- 8.x
This means that the issue is relevant to the 8.x branch of the Elasticsearch project.
Q: Can I reproduce the issue locally?
A: No, the issue does not reproduce locally.
Q: What is the failure history for this issue?
A: The failure history for this issue is:
This dashboard shows the failure history for the MixedClusterEsqlSpecIT test with the method {string.LucenePushdownMixOrAnd SYNC}.
Q: What are the issue reasons for this issue?
A: The issue reasons for this issue are:
- [8.x] 2 consecutive failures in step 8.11.4_bwc
- [8.x] 4 failures in test test {string.LucenePushdownMixOrAnd SYNC} (4.2% fail rate in 96 executions)
- [8.x] 2 failures in step 8.11.4_bwc (100.0% fail rate in 2 executions)
- [8.x] 2 failures in pipeline elasticsearch-periodic (100.0% fail rate in 2 executions)
These issue reasons show that the test is failing on multiple builds and branches.
Q: How can I report issues or feedback to es-delivery?
A: You can report issues or feedback to es-delivery by creating a new issue on the Elasticsearch project's issue tracker.