[
https://issues.apache.org/jira/browse/GEODE-10478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jinwoo Hwang reassigned GEODE-10478:
------------------------------------
Assignee: Jinwoo Hwang
> Migrate Docker base image from Java 11 to Java 17 for SNI acceptance tests
> --------------------------------------------------------------------------
>
> Key: GEODE-10478
> URL: https://issues.apache.org/jira/browse/GEODE-10478
> Project: Geode
> Issue Type: Task
> Reporter: Jinwoo Hwang
> Assignee: Jinwoo Hwang
> Priority: Major
>
> h3. Current Issue
> The SNI acceptance tests (SingleServerSNIAcceptanceTest and
> {{{}DualServerSNIAcceptanceTest{}}}) are currently failing due to a Java
> version compatibility mismatch. Investigation shows:
> * {*}Build environment{*}: Java 17 (compiles Geode bytecode)
> * {*}Docker container{*}: Java 11 (Bellsoft Liberica OpenJDK Debian image)
> This mismatch will cause {{UnsupportedClassVersionError}} when attempting to
> run gfsh commands inside the Docker container, as Java 11 cannot execute
> bytecode compiled with Java 17 (class file version 61.0 vs 55.0).
> h3. Proposed Solution
> Update the Docker infrastructure to align with the Java 17 build environment:
> h4. 1. Update Docker Base Image
> Modify Dockerfile to use Java 17:
>
> FROM bellsoft/liberica-openjdk-debian:17 # Currently: :11
>
>
> h4. 2. Enhance Docker Networking Configuration
> Review and update docker-compose.yml for SNI tests to ensure:
> * Proper hostname resolution for SNI proxy routing
> * Correct network aliases for {{locator-maeve}}
> * Appropriate port mappings for HAProxy
> * Proper service dependencies
> h3. Acceptance Criteria
> * Docker container uses Java 17 compatible with build environment
> * SingleServerSNIAcceptanceTest passes all tests
> * {{DualServerSNIAcceptanceTest}} passes all tests
> * Docker container can successfully execute gfsh commands
> * SNI proxy routing works correctly through HAProxy
> * No system-level modifications required (e.g.,
> [hosts|vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-browser/workbench/workbench.html]
> entries)
> h3. Testing Plan
> # {*}Compilation Test{*}: {{./gradlew
> :geode-assembly:compileAcceptanceTestJava}}
> # {*}Single Server Test{*}: {{./gradlew :geode-assembly:acceptanceTest
> --tests "*SingleServerSNIAcceptanceTest*"}}
> # {*}Dual Server Test{*}: {{./gradlew :geode-assembly:acceptanceTest --tests
> "*DualServerSNIAcceptanceTest*"}}
> # {*}Docker Validation{*}: Verify gfsh commands execute without version
> errors
> h3. Files to Modify
> # Dockerfile - Update base image from Java 11 to Java 17
> # docker-compose.yml - Review/enhance networking configuration
> h3. Expected Benefits
> * {*}Compatibility{*}: Align Docker environment with build environment
> * {*}Reliability{*}: Eliminate Java version mismatch errors
> * {*}Maintainability{*}: Consistent Java version across environments
> * {*}Future-ready{*}: Support continued Java 17+ development
> h3. Risk Assessment
> * {*}Low Risk{*}: Bellsoft Liberica OpenJDK 17 image is well-established and
> maintained
> * {*}Backward Compatibility{*}: No breaking changes expected for existing
> functionality
> * {*}Testing{*}: Comprehensive test coverage ensures regression detection
--
This message was sent by Atlassian Jira
(v8.20.10#820010)