Skip to content

Add JIT compiler directives to workaround performance regression in memory segment access in JDK 23 #113817

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

Merged
merged 3 commits into from
Oct 1, 2024

Conversation

ChrisHegarty
Copy link
Contributor

This commit adds a couple of JIT compiler directives to avoid a performance pitfall in JDK 23.

Ultimately this is a workaround for a JDK 23 bug [1], which has been reported and will be fixed in a future version of the JDK.

The nested rally track uncovered the JDK performance regression. Running JDK 23 with the compiler directives in this PR restores performance, and in fact improves it in several cases.

closes #113030

[1] https://bugs.openjdk.org/browse/JDK-8341127

@ChrisHegarty ChrisHegarty added >non-issue :Core/Infra/Core Core issues without another label Team:Core/Infra Meta label for core/infra team v8.16.0 v9.0.0 labels Sep 30, 2024
@ChrisHegarty ChrisHegarty requested a review from a team as a code owner September 30, 2024 19:22
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (Team:Core/Infra)

Copy link
Member

@rjernst rjernst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ChrisHegarty ChrisHegarty merged commit b2a69b5 into elastic:main Oct 1, 2024
16 checks passed
ChrisHegarty added a commit that referenced this pull request Oct 1, 2024
…emory segment access in JDK 23 (#113817)

This commit adds a couple of JIT compiler directives to avoid a performance pitfall in JDK 23.

Ultimately this is a workaround for a JDK 23 bug, which has been reported and will be fixed in a future version of the JDK.

The nested rally track uncovered the JDK performance regression. Running JDK 23 with the compiler directives in this PR restores performance, and in fact improves it in several cases.
matthewabbott pushed a commit to matthewabbott/elasticsearch that referenced this pull request Oct 4, 2024
…emory segment access in JDK 23 (elastic#113817)

This commit adds a couple of JIT compiler directives to avoid a performance pitfall in JDK 23.

Ultimately this is a workaround for a JDK 23 bug, which has been reported and will be fixed in a future version of the JDK.

The nested rally track uncovered the JDK performance regression. Running JDK 23 with the compiler directives in this PR restores performance, and in fact improves it in several cases.
rjernst added a commit to rjernst/elasticsearch that referenced this pull request Oct 15, 2024
After completing additional validation with the JIT workaround in
elastic#113817, this commit
upgrades the bundled JDK to 23.
rjernst added a commit to rjernst/elasticsearch that referenced this pull request Oct 15, 2024
After completing additional validation with the JIT workaround in elastic#113817, this commit upgrades the bundled JDK to 23.

This is a backport of elastic#114823
rjernst added a commit that referenced this pull request Oct 22, 2024
After completing additional validation with the JIT workaround in #113817, this commit upgrades the bundled JDK to 23.

This is a backport of #114823
rjernst added a commit to rjernst/elasticsearch that referenced this pull request Oct 22, 2024
After completing additional validation with the JIT workaround in elastic#113817, this commit upgrades the bundled JDK to 23.

This is a backport of elastic#114823
elasticsearchmachine pushed a commit that referenced this pull request Oct 24, 2024
After completing additional validation with the JIT workaround in #113817, this commit upgrades the bundled JDK to 23.

This is a backport of #114823
rjernst added a commit that referenced this pull request Oct 30, 2024
After completing additional validation with the JIT workaround in
#113817, this commit
upgrades the bundled JDK to 23.
jfreden pushed a commit to jfreden/elasticsearch that referenced this pull request Nov 4, 2024
After completing additional validation with the JIT workaround in
elastic#113817, this commit
upgrades the bundled JDK to 23.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Core Core issues without another label >non-issue Team:Core/Infra Meta label for core/infra team v8.16.0 v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Lucene memory segment input regression caused by JDK 23
3 participants