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

Jinwoo Hwang reassigned GEODE-10507:
------------------------------------

    Assignee: Jinwoo Hwang

> 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
>
> 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:*
>  # Update 
> [GenericAppServerInstall.java|vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/code/electron-browser/workbench/workbench.html]:
>  ** 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)
>  # 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*
>  # Run all three new Jetty 12 tests to verify:
>  ** Peer-to-peer session replication
>  ** Client-server session replication
>  ** Caching client-server session replication
>  # Verify Jetty 12 download and container startup
>  # Confirm session serialization/deserialization with Jakarta EE 10 APIs
>  # 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