Foundation: Java 21 baseline + migration status by devin-ai-integration[bot] · Pull Request #24 · hitomimimi/cloudstack · GitHub
Skip to content

Foundation: Java 21 baseline + migration status#24

Open
devin-ai-integration[bot] wants to merge 3 commits into
att/4.22.0.0from
demo/java-21-foundation-v15
Open

Foundation: Java 21 baseline + migration status#24
devin-ai-integration[bot] wants to merge 3 commits into
att/4.22.0.0from
demo/java-21-foundation-v15

Conversation

@devin-ai-integration

Copy link
Copy Markdown

Description

This PR establishes the Java 21 foundation for Apache CloudStack 4.22.0.0. From a single instruction, the migration was analyzed across 7,655 Java files in 13 modules, the JDK version was bumped, a sandbox build was verified, test compatibility was checked (discovering a critical cglib blocker), and CI workflows were updated.

Changes:

  1. JDK version bumpcs.jdk.version 11 → 21 in root pom.xml
  2. CI workflow updatebuild.yml JDK 17 → 21; trigger-package-and-publish.yml Apache license header added + trailing whitespace fixed
  3. Migration status documentJAVA_21_MIGRATION_STATUS.md with module-by-module analysis, deprecated API inventory (9 categories, 1,775+ files affected), and critical blocker documentation

Key finding: cglib-nodep 3.3.0 (unmaintained since 2019) causes Unsupported class file major version 65 errors in 64+ DAO test classes. Migration to ByteBuddy is required before full test suite passes.

Sandbox verification:

  • BUILD SUCCESS: 25 modules compiled with JDK 21 in 1:08 min
  • Test blocker: VMInstanceDaoImplTest — 18/18 errors due to cglib incompatibility

BUILD SUCCESS

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Screenshots (if appropriate):

BUILD SUCCESS with JDK 21 (25 modules):
BUILD SUCCESS

Test compatibility check — cglib blocker discovered:
TEST FAILURE

How Has This Been Tested?

  • Sandbox build: mvn install -DskipTests -Dcheckstyle.skip=true -pl server -am with JDK 21 — BUILD SUCCESS (25 modules)
  • Test compatibility: mvn test -pl engine/schema -Dtest=VMInstanceDaoImplTest — confirmed cglib blocker (18 errors, major version 65)
  • Pre-commit hooks: All 3 commits passed pre-commit validation

How did you try to break this feature and the system with this change?

Ran targeted test against the most critical module (engine/schema) to verify JDK 21 compatibility at the test level. Discovered and documented the cglib-nodep blocker that affects 64+ test classes across the DAO layer.

Link to Devin session: https://app.devin.ai/sessions/fced28320b1b46e2a2f93e712c14677d
Requested by: @hitomimimi

devin-ai-integration Bot and others added 3 commits May 14, 2026 23:47
Co-Authored-By: hitomi.sawamura@gmail.com <hitomi.sawamura@gmail.com>
… issues

Co-Authored-By: hitomi.sawamura@gmail.com <hitomi.sawamura@gmail.com>
Co-Authored-By: hitomi.sawamura@gmail.com <hitomi.sawamura@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Author

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant