Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] CommonAnalysisClientYamlTestSuiteIT {pattern_replace error handling (too complex pattern)} failing with OOME on JDK17 #116134

Closed
elasticsearchmachine opened this issue Nov 2, 2024 · 7 comments
Assignees
Labels
low-risk An open issue or test failure that is a low risk to future releases :Search Relevance/Analysis How text is split into tokens Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch >test-failure Triaged test failures from CI

Comments

@elasticsearchmachine
Copy link
Collaborator

elasticsearchmachine commented Nov 2, 2024

Build Scans:

Reproduction Line:

./gradlew ':modules:analysis-common:yamlRestTest' --tests "org.elasticsearch.analysis.common.CommonAnalysisClientYamlTestSuiteIT" -Dtests.method="test {yaml=indices.analyze/10_synonyms/Non-standard position length}" -Dtests.seed=95FD2B4E622FEF93 -Dtests.locale=ast-Latn-ES -Dtests.timezone=Pacific/Port_Moresby -Druntime.java=17 -Dtests.fips.enabled=true

Applicable branches:
8.15

Reproduces locally?:
N/A

Failure History:
See dashboard

Failure Message:

java.lang.RuntimeException: Failure at [indices.analyze/10_synonyms:37]: Connection refused

Issue Reasons:

  • [8.15] 2 consecutive failures in class org.elasticsearch.analysis.common.CommonAnalysisClientYamlTestSuiteIT
  • [8.15] 16 consecutive failures in step openjdk17_checkpart1_java-fips-matrix
  • [8.15] 15 consecutive failures in step graalvm-ce17_checkpart1_java-matrix
  • [8.15] 16 consecutive failures in step openjdk17_checkpart1_java-matrix
  • [8.15] 47 failures in class org.elasticsearch.analysis.common.CommonAnalysisClientYamlTestSuiteIT (7.0% fail rate in 672 executions)
  • [8.15] 16 failures in step openjdk17_checkpart1_java-fips-matrix (100.0% fail rate in 16 executions)
  • [8.15] 15 failures in step graalvm-ce17_checkpart1_java-matrix (100.0% fail rate in 15 executions)
  • [8.15] 16 failures in step openjdk17_checkpart1_java-matrix (100.0% fail rate in 16 executions)
  • [8.15] 16 failures in pipeline elasticsearch-periodic (100.0% fail rate in 16 executions)

Note:
This issue was created using new test triage automation. Please report issues or feedback to es-delivery.

@elasticsearchmachine elasticsearchmachine added :Delivery/Build Build or test infrastructure >test-failure Triaged test failures from CI Team:Delivery Meta label for Delivery team needs:risk Requires assignment of a risk label (low, medium, blocker) labels Nov 2, 2024
@elasticsearchmachine
Copy link
Collaborator Author

Pinging @elastic/es-delivery (Team:Delivery)

@elasticsearchmachine
Copy link
Collaborator Author

This has been muted on branch 8.x

Mute Reasons:

  • [8.x] 3 failures in class org.elasticsearch.analysis.common.CommonAnalysisClientYamlTestSuiteIT (0.4% fail rate in 667 executions)
  • [8.x] 2 failures in step rest-compatibility (3.2% fail rate in 62 executions)
  • [8.x] 2 failures in pipeline elasticsearch-pull-request (3.1% fail rate in 65 executions)

Build Scans:

elasticsearchmachine added a commit that referenced this issue Nov 2, 2024
…iteIT org.elasticsearch.analysis.common.CommonAnalysisClientYamlTestSuiteIT #116134
@mark-vieira mark-vieira added :Search Relevance/Analysis How text is split into tokens and removed :Delivery/Build Build or test infrastructure labels Nov 6, 2024
@elasticsearchmachine elasticsearchmachine added Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch and removed Team:Delivery Meta label for Delivery team labels Nov 6, 2024
@elasticsearchmachine
Copy link
Collaborator Author

Pinging @elastic/es-search-relevance (Team:Search Relevance)

@mark-vieira
Copy link
Contributor

This failures look to be due to an OOME in the Elasticsearch node when running on Java 17.

@benwtrent
Copy link
Member

Yeah:

"pattern_replace error handling (too complex pattern)":

Is the test where we fail.

OOM thread trace:

Thread 'elasticsearch[test-cluster-0][masterService#updateTask][T#1]' with ID = 40
	java.lang.OutOfMemoryError.<init>(OutOfMemoryError.java:48)
	java.util.regex.Pattern.producePermutations(Pattern.java:1604)
	java.util.regex.Pattern.produceEquivalentAlternation(Pattern.java:1559)
	java.util.regex.Pattern.normalizeSlice(Pattern.java:1520)
	java.util.regex.Pattern.normalize(Pattern.java:1481)
	java.util.regex.Pattern.compile(Pattern.java:1745)
	java.util.regex.Pattern.<init>(Pattern.java:1430)
	java.util.regex.Pattern.compile(Pattern.java:1095)
	org.elasticsearch.common.regex.Regex.compile(Regex.java:235)
	org.elasticsearch.analysis.common.PatternReplaceCharFilterFactory.<init>(PatternReplaceCharFilterFactory.java:34)
	org.elasticsearch.analysis.common.CommonAnalysisPlugin$$Lambda$2224+0x00000008011e8288.get(Native method)
	org.elasticsearch.plugins.AnalysisPlugin$1.get(AnalysisPlugin.java:127)
	org.elasticsearch.index.analysis.AnalysisRegistry.buildMapping(AnalysisRegistry.java:500)
	org.elasticsearch.index.analysis.AnalysisRegistry.buildCharFilterFactories(AnalysisRegistry.java:332)
	org.elasticsearch.index.analysis.AnalysisRegistry.build(AnalysisRegistry.java:208)
	org.elasticsearch.index.IndexModule.newIndexService(IndexModule.java:510)
	org.elasticsearch.indices.IndicesService.createIndexService(IndicesService.java:759)
	org.elasticsearch.indices.IndicesService.withTempIndexService(IndicesService.java:702)

Originally added here: https://github.com/elastic/elasticsearch/pull/109173/files

I think this particular test requires JDKs after 17. Right @afoucret ?

@benwtrent benwtrent added low-risk An open issue or test failure that is a low risk to future releases and removed needs:risk Requires assignment of a risk label (low, medium, blocker) labels Nov 7, 2024
@benwtrent
Copy link
Member

I am going to adjust the mute to only mute the troubling test.

@benwtrent benwtrent changed the title [CI] CommonAnalysisClientYamlTestSuiteIT class failing [CI] CommonAnalysisClientYamlTestSuiteIT {pattern_replace error handling (too complex pattern)} failing with OOME on JDK17 Nov 7, 2024
elasticsearchmachine pushed a commit that referenced this issue Nov 7, 2024
elasticsearchmachine pushed a commit that referenced this issue Nov 11, 2024
This test requires at least java 21, skip it otherwise.

closes: #116405 closes:
#116134
benwtrent added a commit to benwtrent/elasticsearch that referenced this issue Nov 11, 2024
…116507)

This test requires at least java 21, skip it otherwise.

closes: elastic#116405 closes:
elastic#116134
(cherry picked from commit 91b4b1e)
benwtrent added a commit to benwtrent/elasticsearch that referenced this issue Nov 11, 2024
…116507)

This test requires at least java 21, skip it otherwise.

closes: elastic#116405 closes:
elastic#116134
(cherry picked from commit 91b4b1e)
elasticsearchmachine pushed a commit that referenced this issue Nov 11, 2024
…#116597)

This test requires at least java 21, skip it otherwise.

closes: #116405 closes:
#116134
(cherry picked from commit 91b4b1e)
benwtrent added a commit that referenced this issue Nov 11, 2024
…#116598)

This test requires at least java 21, skip it otherwise.

closes: #116405 closes:
#116134
(cherry picked from commit 91b4b1e)
@benwtrent benwtrent self-assigned this Nov 18, 2024
@benwtrent
Copy link
Member

closed by: #116507

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
low-risk An open issue or test failure that is a low risk to future releases :Search Relevance/Analysis How text is split into tokens Team:Search Relevance Meta label for the Search Relevance team in Elasticsearch >test-failure Triaged test failures from CI
Projects
None yet
Development

No branches or pull requests

3 participants