[ 
https://issues.apache.org/jira/browse/GEODE-10507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jinwoo Hwang resolved GEODE-10507.
----------------------------------
    Resolution: Fixed

> Migrate Jetty 9 session replication tests to Jetty 12 for Jakarta EE 10 
> compatibility
> -------------------------------------------------------------------------------------
>
>                 Key: GEODE-10507
>                 URL: https://issues.apache.org/jira/browse/GEODE-10507
>             Project: Geode
>          Issue Type: Improvement
>            Reporter: Jinwoo Hwang
>            Assignee: Jinwoo Hwang
>            Priority: Major
>             Fix For: 2.0.0
>
>
> h3. *Description*
> As part of the Jakarta EE 10 migration (GEODE-10466), we need to migrate the 
> existing Jetty 9 session replication tests to Jetty 12. Jetty 9 uses the 
> legacy {{javax.{*}{*}}} *namespace (Java EE 8), while Jetty 12 supports 
> Jakarta EE 10 with the {{jakarta.}}* namespace.
> h3. *Background*
>  * Current Jetty 9 tests use Jetty 9.4.57.v20241219 which is incompatible 
> with Jakarta EE 10
>  * Jetty 12.0.27 is the latest stable version supporting Jakarta EE 10 
> (Servlet 6.0)
>  * The Cargo testing framework (used for container-based testing) requires 
> version 1.10.0+ for Jetty 12 support
> h3. *Scope*
> *Tests to Migrate:*
>  # {{Jetty9PeerToPeerTest.java}} → {{Jetty12PeerToPeerTest.java}}
>  # {{Jetty9ClientServerTest.java}} → {{Jetty12ClientServerTest.java}}
>  # {{Jetty9CachingClientServerTest.java}} → 
> {{Jetty12CachingClientServerTest.java}}
> *Infrastructure Changes:*
> 1.Update GenericAppServerInstall.java:
>  * Replace {{JETTY9}} enum with JETTY12
>  * Update Jetty version from {{9.4.57.v20241219}} to {{12.0.27}}
>  * Change download package from {{jetty-distribution}} to {{jetty-home}} 
> (Jetty 12 packaging change)
> 2.Upgrade Cargo dependency:
>  * Current: org.codehaus.cargo:cargo-core-uberjar:1.9.12
>  * Required: org.codehaus.cargo:cargo-core-uberjar:1.10.24 (or later)
>  * Location: DependencyConstraints.groovy
> h3. *Implementation Details*
> *New Test Files:*
> All new tests should extend the same base classes and maintain identical test 
> methods:
>   
>  
>  // Jetty12PeerToPeerTest.java
> public class Jetty12PeerToPeerTest extends CargoTestBase {
> @Override
> public ContainerInstall getInstall(IntSupplier portSupplier) throws 
> IOException {
>    return new GenericAppServerInstall(getClass().getSimpleName(), 
> GenericAppServerInstall.GenericAppServerVersion.JETTY12, 
> ConnectionType.PEER_TO_PEER, portSupplier); }
> }
>  
>   
>  
> *GenericAppServerInstall.java changes:*
>  * Remove {{JETTY9}} enum value
>  * Add JETTY12(12, "jetty-home-" + JETTY_VERSION + ".zip", "jetty")
>  * Update JETTY_VERSION constant from {{"9.4.57.v20241219"}} to {{"12.0.27"}}
>  * Container ID remains {{jetty12x}} (Cargo convention)
> *Old Test Files to Delete:*
>  * {{Jetty9PeerToPeerTest.java}}
>  * {{Jetty9ClientServerTest.java}}
>  * {{Jetty9CachingClientServerTest.java}}
> h3. *Testing Strategy*
> 1.Run all three new Jetty 12 tests to verify:
>  * Peer-to-peer session replication
>  * Client-server session replication
>  * Caching client-server session replication
> 2.Verify Jetty 12 download and container startup
> 3.Confirm session serialization/deserialization with Jakarta EE 10 APIs
> 4.Ensure backward compatibility is not required (Jakarta EE 10 only)
> h3. *Dependencies*
>  * Requires GEODE-10466 (Jakarta EE 10 migration) base work
>  * Jetty 12.0.27 or later
>  * Cargo 1.10.24 or later
> h3. *Acceptance Criteria*
>  *  Three new Jetty 12 test files created with proper structure
>  *  GenericAppServerInstall.java updated to support JETTY12
>  *  Cargo dependency upgraded to 1.10.24+
>  *  All Jetty 12 distributed tests pass successfully
>  *  Old Jetty 9 test files removed
>  *  Documentation updated if necessary
> h3. *Notes*
>  * Jetty 12 uses {{jetty-home}} package instead of {{jetty-distribution}}
>  * Jetty 12 moved servlet modules to org.eclipse.jetty.ee10 package for 
> Jakarta EE 10
>  * Cargo container ID for Jetty 12 is {{jetty12x}}
>  * No backward compatibility with Jetty 9 required (clean Jakarta EE 10 
> migration)
> h3. *Related Issues*
>  * Parent: GEODE-10466 (Jakarta EE 10 Migration)
>  * Related: Migration of Tomcat 6-9 tests to Tomcat 10



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to