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