[ 
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)

Reply via email to