[
https://issues.apache.org/jira/browse/GEODE-10495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jinwoo Hwang updated GEODE-10495:
---------------------------------
Fix Version/s: 2.1.0
> Migrate Apache Geode from Java 17 to Java 21 LTS for improved performance and
> latest language features
> ------------------------------------------------------------------------------------------------------
>
> Key: GEODE-10495
> URL: https://issues.apache.org/jira/browse/GEODE-10495
> Project: Geode
> Issue Type: Improvement
> Reporter: Jinwoo Hwang
> Assignee: Jinwoo Hwang
> Priority: Major
> Fix For: 2.1.0
>
>
> Apache Geode currently supports Java 17 as the latest LTS version. This epic
> tracks the migration to Java 21 LTS to take advantage of performance
> improvements, new language features, and maintain compatibility with the
> latest Java ecosystem.
> *Background* Java 21 is the latest Long Term Support (LTS) release with
> significant improvements:
> * Virtual Threads (Project Loom) for better concurrency
> * Pattern Matching enhancements
> * Record Patterns
> * String Templates (Preview)
> * Sequenced Collections
> * Performance optimizations in GC and JIT compiler
> * Security enhancements
> *Current State*
> * Minimum Java version: Java 8
> * Recommended Java version: Java 17
> * Build system: Gradle 7.6.6
> * CI/CD: GitHub Actions with Java 17
> *Scope* This migration includes:
> * Update build configuration and CI pipelines
> * Verify compatibility of all dependencies
> * Update documentation and installation guides
> * Performance testing and validation
> * Compatibility testing across all supported platforms
> *Success Criteria*
> * Geode builds successfully with Java 21
> * All unit and integration tests pass
> * Performance benchmarks show no regression
> * Documentation updated with Java 21 requirements
> * CI/CD pipelines updated to use Java 21
> *Technical Tasks*
> # Update gradle wrapper and build scripts
> # Update GitHub Actions workflow files
> # Verify third-party dependency compatibility
> # Update Docker images and containers
> # Update IDE configuration files
> # Review and update JVM arguments
> # Test on all supported operating systems
> # Update release documentation
> *Dependencies and Blockers*
> * All third-party dependencies must support Java 21
> * Docker base images must be available for Java 21
> * CI infrastructure must support Java 21
> *Risk Assessment*
> * LOW: Java 21 has excellent backward compatibility
> * MEDIUM: Some dependencies may need updates
> * HIGH: Performance regression in specific workloads
> *Testing Strategy*
> * Full regression testing on Java 21
> * Performance benchmarking against Java 17 baseline
> * Compatibility testing with existing Geode applications
> * Extended CI runs across all platforms
> * Community testing with early access builds
> *Timeline*
> * Phase 1: Build system updates (2 weeks)
> * Phase 2: Dependency verification (1 week)
> * Phase 3: Testing and validation (3 weeks)
> * Phase 4: Documentation and release (1 week)
> *Acceptance Criteria*
> * Build passes with Java 21 on all platforms
> * Zero test failures in full test suite
> * Performance within 5% of Java 17 baseline
> * All documentation updated
> * Community validation completed
> * Release notes prepared
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)