[
https://issues.apache.org/jira/browse/GEODE-10507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jinwoo Hwang updated GEODE-10507:
---------------------------------
Description:
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
was:
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
> 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:*
> 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)