Repository navigation
Restore Oracle JDK 8 profiler controller tests - #13185
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
More details
The configuration restores Oracle JDK 8 test eligibility while preserving Java 8 compilation. Actual profiler test execution remains unverified because Oracle JDK 8 is unavailable in the environment.
🤖 Bits Code Review · Commit a565fa4
PerfectSlayer
left a comment
There was a problem hiding this comment.
There is a run label but I don't think it's working, and I could not find the job run from PR check. Was it tested seperately?
|
@PerfectSlayer I asked agent to open PR and generate description, that's why! But you're right, label bon't work. At least they are informative. Tests ran: |
PerfectSlayer
left a comment
There was a problem hiding this comment.
Thanks for the fix. I'm starting a wider investigation as part of incident follow up.
We can run them through agents later but I want to focus on root cause first.
jbachorik
left a comment
There was a problem hiding this comment.
Thanks for catching this!
|
@jbachorik thanks goes to @PerfectSlayer as he is the one that caught this. |
What Does This Do
Restore execution of the Oracle JDK 8 profiler controller tests, on Oracle 8 JVM.
Motivation
The standard Oracle profiler controller test tasks have been prevented from executing by build configuration for a long time, since 1 March 2022. This leaves the legacy Oracle JFR implementation without its intended Oracle JDK 8 test coverage.
The Gradle scan report shows
:dd-java-agent:agent-profiling:profiling-controller-oracle:testrun with Oracle JVM1.8.0_503-b01was skipped with the reason'Test JDK is allowed or forced JDK' not satisfied.Additional Notes
Previously this profiler project used a Java 11 compiler to access the public
jdk.jfrclasses while emitting Java 8 bytecode for distributions with backported JFR.The OpenJDK profiler controller configured this explicitly as well via
But the Oracle profiler controller specifically targets the older and legacy JFR way through the
com.oracle.jrockit:type=FlightRecorderMBean ; i.e. it affects only for Oracle JVM preu262.And it turns out that its production or test sources do not reference
jdk.jfrclasses, so the default compiler configuration already meets the dd-trace-java requirements, in particular today where compilation happens on JDK25 (the JDK of the Gradle Dameon) with--release 8.Removing the empty source set preserves that configuration.
Timeline
onlyIf { it.name.contains('ORACLE8') }.At this time test tasks were generated and task names such as
testJavaORACLE8GeneratedandforkedTestJavaORACLE8Generatedsatisfied it.testJvmlauncher override on ordinary test tasks. However, the previous task-name guard skipped these test tasks, even with Oracle JDK 8 selected.This is when the standard test tasks became blocked.
testJvmConstraintsandaddSourceSetFor.Given the Oracle profiler controller had the same project as the OpenJDK profiler controller, that is compilation of Java 11 (to access JFR API definitions) but still targeting Java 8 (test were compiled with Java 8
applyForTestSources = false).Oracle profiler controller was then migrated the same way as OpenJDK profiler controller that is with
addSourceSetFor(VERSION_11), some comment survived though like the one with Zulu 8, despite having nosrc/main/java11sources or directjdk.jfrreferences.The
ORACLE8guard was then preceded by another on Java version check (tracerJava { addSourceSetFor() }, which is not at fault here).Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issue