Skip to content

FELIX-6750 Try out Jetty 12.1.0 in Felix HTTP #376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 77 commits into
base: master
Choose a base branch
from

Conversation

paulrutter
Copy link
Contributor

@paulrutter paulrutter commented Jan 20, 2025

  • 1.1.0-SNAPSHOT
  • Use jetty 12.1.0-alpha1
  • Add org.eclipse.jetty.compression.* to exports
  • Add dependency on jetty-compression-gzip (not sure if this is required, maybe only for the client) and jetty-compression-common

This branch is based on EE11 (servlet API 6.1).

- 1.1.0-SNAPSHOT
- Use jetty 12.1.0-alpha1
- Add `org.eclipse.jetty.compression.*` to exports
- Add dependency on jetty-compression-gzip (not sure if this is required, maybe only for the client) and jetty-compression-common
- Move to EE11
- Skip baselining to prevent errors in the baseline phase because of changed API's in 6.1.0
- Pass local maven repo to be able to get to the snapshot version of the servlet-api bundle
- Build servlet-api, as it's used in the Jetty bundles
@paulrutter
Copy link
Contributor Author

@cziegeler i did a first attempt on getting the http.jetty12 bundle to using Jetty 12.1.0 (servlet API 6.1).

Once it's GA we can revisit and check the open ends (like the servlet-api bundle failing on the baseline phase, we might need to remove version 5.0 and 6.0 from this bundle to get this resolved, as the servlet API actually changed in 6.1).

- Update wrappers to implement new methods for servlet-api 6.1. This will break backwards compatbility though
@cziegeler
Copy link
Contributor

Thanks, thats great.
Your changes to the servlet-api bundle look good - we always include the latest version (6.1 in this case) and export it as all earlier versions (5 and 6 in this case). While this is not 100% correct, it is usually good enough as the versions are compatible and code is not compiled against this bundle - it is just used at runtime.
There is of course the exception of servlet 6 which is not fully compatible to servlet 5 - due to removed methods -but we have that problem already today.

paulrutter and others added 20 commits January 22, 2025 09:01
# Conflicts:
#	http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettySpecificWebsocketIT.java
#	http/samples/whiteboard/src/main/java/org/apache/felix/http/samples/whiteboard/FelixJettyWebSocketServlet.java
#	http/samples/whiteboard/src/main/java/org/apache/felix/http/samples/whiteboard/TestWebSocketServletAlternative.java
# Conflicts:
#	http/itest/pom.xml
#	http/jetty/pom.xml
#	http/jetty12/pom.xml
#	http/samples/whiteboard/pom.xml
…#375)

Bumps [ch.qos.logback:logback-core](https://github.com/qos-ch/logback) from 1.3.12 to 1.3.15.
- [Commits](qos-ch/logback@v_1.3.12...v_1.3.15)

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-core
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ch.qos.logback:logback-core](https://github.com/qos-ch/logback) from 1.3.12 to 1.3.15.
- [Release notes](https://github.com/qos-ch/logback/releases)
- [Commits](qos-ch/logback@v_1.3.12...v_1.3.15)

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-core
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps org.apache.felix:org.apache.felix.webconsole from 4.0.0 to 4.9.10.

---
updated-dependencies:
- dependency-name: org.apache.felix:org.apache.felix.webconsole
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
paulrutter and others added 19 commits March 19, 2025 08:13
- Use wrappers snapshot in jetty bundle
- build wrappers before jetty bundles, so the jetty12 can depend on latest snapshot versions.
- jetty11 bundle still needs to rely on previous snapshot version until after the release is done.
- Upgrade to 12.0.18 and 11.0.25
Bumps org.apache.felix:org.apache.felix.webconsole from 4.9.0 to 4.9.10.

---
updated-dependencies:
- dependency-name: org.apache.felix:org.apache.felix.webconsole
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
- update to 12.1.0.alpha2
# Conflicts:
#	http/jetty12/pom.xml
#	http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java
#	http/pom.xml
#	http/samples/whiteboard/pom.xml
#	http/wrappers/pom.xml
- update to latest snapshot for jetty bundle
# Conflicts:
#	.github/workflows/maven-ci.yml
#	http/base/pom.xml
#	http/itest/pom.xml
#	http/jetty/pom.xml
#	http/jetty12/pom.xml
#	http/jetty12/src/main/java/org/apache/felix/http/jetty/internal/JettyService.java
#	http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java
#	http/jetty12/src/test/java/org/apache/felix/http/jetty/it/MissingWebsocketDependenciesIT.java
#	http/samples/whiteboard/pom.xml
#	http/servlet-api/pom.xml
#	http/wrappers/pom.xml
#	http/wrappers/src/main/java/org/apache/felix/http/jakartawrappers/HttpServletResponseWrapper.java
- revert unneeded changes now 6.1.0 already contains the 6.1 changes of the servlet api
- revert unneeded changes now 6.1.0 already contains the 6.1 changes of the servlet api
- revert unneeded changes now 6.1.0 already contains the 6.1 changes of the servlet api
- revert unneeded changes now 6.1.0 already contains the 6.1 changes of the servlet api
- revert unneeded changes now 6.1.0 already contains the 6.1 changes of the servlet api
@paulrutter
Copy link
Contributor Author

Updated to 12.1.0.beta0

- Fix merge
- Move to EE11 for ErrorHandler
- Use try with resources
- Move to EE11 for new tests
- Simplify HTTP client migration
- Call start
- Handle java.nio.channels.AsynchronousCloseException with a FIXME, might be a Jetty bug?
- Fix FIXME, handle async with future
- Reset FIXME, AsynchronousCloseException still happens
# Conflicts:
#	http/base/pom.xml
#	http/itest/pom.xml
#	http/jetty12/pom.xml
#	http/jetty12/src/test/java/org/apache/felix/http/jetty/it/AbstractJettyTestSupport.java
#	http/samples/whiteboard/pom.xml
@paulrutter
Copy link
Contributor Author

Moved to 12.1.0.beta1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants