Use compact object headers with JDK25+#20392
Use compact object headers with JDK25+#20392andrross merged 1 commit intoopensearch-project:mainfrom
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.
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 <andrross@amazon.com>
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.
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. |
|
@rishabh6788 pointed out that baseline has had some spikes in past month, which could lead to false results, e.g.
Normally that baseline should be in 900s:
|
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>

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.