Skip to content

Commit 4418152

Browse files
authored
Evaluate upgrading Groovy to 5.0.0 under JDK 11 runtime constraint (#13679)
### Evaluation Purpose This PR is an extension to another PR ( #13671 ) and evaluates upgrading the Groovy engine from **4.0.x to 5.0.0 (earliest GA)** with a focus on validating **SkyWalking’s JDK 11 runtime compatibility guarantee**. Groovy is used as a runtime dependency in several OAP backend modules, so this change is evaluated strictly from a **compatibility and policy** perspective. ### Verification Results Local evaluation was performed using **JDK 21 for build** and **JDK 11 for runtime**, targeting the primary Groovy consumers (`log-analyzer` and `meter-analyzer`). - **Build Status:** SUCCESS (built with JDK 21) - **Runtime Compatibility:** Verified that the **OAP distribution starts successfully on JDK 11** with Groovy 5.0.0. - *Test:* Built full distribution (`-Pdist`) on JDK 21, then launched OAP via `oapService.bat` using JDK 11. - *Result:* Server started successfully and bound ports without any `UnsupportedClassVersionError` or JVM compatibility failures. - **Tests Passed:** - `oap-server/analyzer/log-analyzer` (LAL script parsing) - `oap-server/analyzer/meter-analyzer` (MAL script execution) ### Key Findings - No compilation issues observed in backend modules. - No Groovy/Spock incompatibilities detected in the existing test suite. - Groovy 5.0.0 does not introduce runtime incompatibilities with JDK 11 based on the evaluated scope. ### Scope Notes This PR is intended solely as a **compatibility evaluation** and does not include test refactors, additional Groovy 5.x upgrades, or behavioral changes.
1 parent 1a9f69e commit 4418152

File tree

3 files changed

+3
-2
lines changed

3 files changed

+3
-2
lines changed

dist-material/release-docs/LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ The text of each license is the standard Apache 2.0 license.
347347
https://mvnrepository.com/artifact/org.apache.curator/curator-framework/4.3.0 Apache-2.0
348348
https://mvnrepository.com/artifact/org.apache.curator/curator-recipes/4.3.0 Apache-2.0
349349
https://mvnrepository.com/artifact/org.apache.curator/curator-x-discovery/4.3.0 Apache-2.0
350-
https://mvnrepository.com/artifact/org.apache.groovy/groovy/4.0.15 Apache-2.0
350+
https://mvnrepository.com/artifact/org.apache.groovy/groovy/5.0.3 Apache-2.0
351351
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpasyncclient/4.1.5 Apache-2.0
352352
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.5.13 Apache-2.0
353353
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore/4.4.16 Apache-2.0

docs/en/changes/changes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#### Project
44
* Fix E2E test metrics verify: make it failure if the metric values all null.
55
* Add `CLAUDE.md` as AI assistant guide for the project.
6+
* Upgrade Groovy to 5.0.3 in OAP backend.
67

78
#### OAP Server
89

oap-server-bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
<freemarker.version>2.3.31</freemarker.version>
6161
<javaassist.version>3.25.0-GA</javaassist.version>
6262
<vavr.version>0.10.3</vavr.version>
63-
<groovy.version>4.0.15</groovy.version>
63+
<groovy.version>5.0.3</groovy.version>
6464
<mvel.version>2.4.8.Final</mvel.version>
6565
<commons-beanutils.version>1.11.0</commons-beanutils.version>
6666
<flatbuffers-java.version>1.12.0</flatbuffers-java.version>

0 commit comments

Comments
 (0)