Skip to content
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

Port o.e.equinox.http.jetty to Jetty 12 #317

Merged
merged 1 commit into from
Oct 4, 2023

Conversation

akurtakov
Copy link
Member

Port is straightforward except for logging as EquinoxStdErrLog had to be removed as this org.eclipse.jetty.util.log api is totally gone and has been deprecated since Jetty 10.x.
According to
https://eclipse.dev/jetty/documentation/jetty-12/operations-guide/index.html#og-server-logging there is no longer programatic way to configure logging.

@akurtakov
Copy link
Member Author

@github-actions
Copy link

github-actions bot commented Sep 29, 2023

Test Results

     24 files  ±0       24 suites  ±0   12m 25s ⏱️ +23s
2 150 tests ±0  2 105 ✔️ ±0  45 💤 +1  0  - 1 
2 194 runs  ±0  2 149 ✔️ ±0  45 💤 +1  0  - 1 

Results for commit 9f72d29. ± Comparison against base commit 4c41c80.

This pull request skips 1 test.
org.eclipse.equinox.http.servlet.tests.DispatchingTest ‑ test_crossContextDispatch1

♻️ This comment has been updated with latest results.

@laeubi
Copy link
Member

laeubi commented Sep 30, 2023

@akurtakov I just wanted to note that jetty itself brings an OSGi-HTTP-Service implementation, since that service is deprecated by the spec, we might want to drop the equinox impl all together and use the jetty one where needed (I think its only the help?)

@akurtakov
Copy link
Member Author

@akurtakov I just wanted to note that jetty itself brings an OSGi-HTTP-Service implementation, since that service is deprecated by the spec, we might want to drop the equinox impl all together and use the jetty one where needed (I think its only the help?)

Would you please give links to Jetty's OSGi-HTTP-Service implementation and to the deprecation in the spec for references here?

@laeubi
Copy link
Member

laeubi commented Sep 30, 2023

OSGi R7 is the last specification containing HttpService:

R8.1 has now removed it from the spec:

Sadly as far as I know there are no real deprecation notices (but @bjhargrave , @tjwatson or @timothyjward might have a reference somewhere)

Also the this (failed) attempt to upgrade HttpService to jakarta:

The jetty-osgi bundles live here:

Apache Felix also offers HttpService we might can use instead of maintain our own:

https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+HTTP+Service

@akurtakov akurtakov force-pushed the master branch 3 times, most recently from 249e964 to f54d4bf Compare October 2, 2023 11:42
@tjwatson
Copy link
Contributor

tjwatson commented Oct 2, 2023

Sadly as far as I know there are no real deprecation notices (but @bjhargrave , @tjwatson or @timothyjward might have a reference somewhere)

Because it was never deprecated. The chapter just was not included in the 8.1 specification. There are no plans to enhance it or provide the equivalent for Jakarta Servlet. But Java Servlet users are free to keep using an implementation of the Http Service. The problem Equinox has is that we have various services that are built upon the old Http Service that:

  1. Need to migrate to Jakarta
  2. Need to migrate to Http Whiteboard Specification

The main one is the org.eclipse.equinox.http.registry. This technically can be done. But then the ripple effect will be large as it impacts Eclipse UA (help) but then also impacts any other projects that contribute help content with the extensions.

But I don't want to conflate updating to Jakarta with the work here that Alex has started, because it seems unrelated since Jetty 12 decouples the EE version (javax vs jakarta) so seems updating to Jetty 12 does not force Jakarta on us.

Port is straightforward except for logging as EquinoxStdErrLog had to be
removed as this org.eclipse.jetty.util.log api is totally gone and has
been deprecated since Jetty 10.x.
According to
https://eclipse.dev/jetty/documentation/jetty-12/operations-guide/index.html#og-server-logging
there is no longer programatic way to configure logging.
Disabled cross context dispatching test as it's not supported in Java 12
as per jetty/jetty.project#10617 .
@akurtakov
Copy link
Member Author

Cross context dispatch is not working because of jetty/jetty.project#10617 but as this seems to not be priority for Jetty we should just move on.

@akurtakov akurtakov merged commit b89f7f0 into eclipse-equinox:master Oct 4, 2023
20 of 23 checks passed
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