-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Use compact object headers with JDK25+ #20392
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
Use compact object headers with JDK25+ #20392
Conversation
📝 WalkthroughWalkthroughThis pull request enables Java 25's compact object headers feature by adding the Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~5 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
🧰 Additional context used🧠 Learnings (1)📚 Learning: 2026-01-02T19:23:29.698ZApplied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
🔇 Additional comments (2)
✏️ Tip: You can disable this entire section by setting Comment |
|
❌ Gradle check result for d9b7b11: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
d9b7b11 to
09f3463
Compare
|
{"run-benchmark-test": "id_3"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/5782/ . Final results will be published once the job is completed. |
|
❌ Gradle check result for 09f3463: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5782/
✅ SUCCESS (took 6643 seconds) |
|
{"run-benchmark-test": "id_3"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/5808/ . Final results will be published once the job is completed. |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5808/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/230/
|
|
@andrross There are some really good improvements. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Performance improvements for big5 workload are really impressive!! Since OpenSearch default is G1GC and the below issues for COH:
- https://bugs.openjdk.org/browse/JDK-8375467
- https://lists.apache.org/thread/qrohqcvn9p82cxcpznj2l2htjg9fon3n
have been linked with ParallelGC, we should considering expediting this change.
@rishabh6788 - Can we validate the performance improvements with other workloads as well? Also, is there a way to test this change under memory duress and rule out the regression?
|
I vote to include this in 3.5 as well, the jep already mentions its been used at Amazon in production: https://openjdk.org/jeps/519 Given that 3.5 deadline is today, and week or two for it show up in nightly runs, we revert it if issues show up. |
09f3463 to
5a18030
Compare
Signed-off-by: Andrew Ross <[email protected]>
5a18030 to
9277066
Compare
|
{"run-benchmark-test": "id_5"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/5871/ . Final results will be published once the job is completed. |
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5871/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/235/
|
|
{"run-benchmark-test": "id_4"} |
|
The Jenkins job url is https://build.ci.opensearch.org/job/benchmark-pull-request/5872/ . Final results will be published once the job is completed. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #20392 +/- ##
============================================
+ Coverage 73.19% 73.33% +0.13%
- Complexity 71975 72059 +84
============================================
Files 5796 5796
Lines 329539 329539
Branches 47465 47465
============================================
+ Hits 241220 241667 +447
+ Misses 69005 68519 -486
- Partials 19314 19353 +39 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Benchmark ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-pull-request/5872/
|
Benchmark Baseline Comparison ResultsBenchmark Results for Job: https://build.ci.opensearch.org/job/benchmark-compare/236/
|
jainankitk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am in favor of getting this merged for 3.5. The improvements especially for long running queries (few thousand ms) are too good to be ignored!
|
Reposting for visibility here (not a blocker but to be aware of): |
|
@andrross are we good to merge this? |
Thanks @reta. We've looked into that issue further and it appears to be specific to parallel GC and we're not seeing any of the symptoms they observed. We'll continue testing throughout the release cycle as well. |
Resolves #20379
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.