Skip to content

Conversation

@Siman-hub
Copy link

@Siman-hub Siman-hub commented Jan 20, 2026

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.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR upgrades the Groovy dependency from version 4.0.15 to 5.0.0, with a focus on validating runtime compatibility under JDK 11 constraints. The author has verified that the OAP distribution builds successfully with JDK 21 and runs on JDK 11 without compatibility issues.

Changes:

  • Upgrade Groovy version from 4.0.15 to 5.0.0 in the BOM

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@wu-sheng
Copy link
Member

e2e and UT seem all good. Could you fix dependency and change log?

@wu-sheng wu-sheng added backend OAP backend related. dependencies Pull requests that update a dependency file labels Jan 21, 2026
@wu-sheng wu-sheng added this to the 10.4.0 milestone Jan 21, 2026
<javaassist.version>3.25.0-GA</javaassist.version>
<vavr.version>0.10.3</vavr.version>
<groovy.version>4.0.15</groovy.version>
<groovy.version>5.0.0</groovy.version>
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
<groovy.version>5.0.0</groovy.version>
<groovy.version>5.0.3</groovy.version>

We should consider latest patch version. Ref to https://mvnrepository.com/artifact/org.apache.groovy/groovy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend OAP backend related. dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants