Jinwoo Hwang created GEODE-10495:
------------------------------------

             Summary: 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


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)

Reply via email to