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

Prepare Pax Web version using JakartaEE 10+ API #1802

Open
grgrzybek opened this issue Nov 25, 2022 · 17 comments
Open

Prepare Pax Web version using JakartaEE 10+ API #1802

grgrzybek opened this issue Nov 25, 2022 · 17 comments
Assignees
Milestone

Comments

@grgrzybek grgrzybek added this to the 10.0.0 milestone Nov 25, 2022
@grgrzybek grgrzybek self-assigned this Nov 25, 2022
@grgrzybek
Copy link
Member Author

Changes in XSD (6.0):

  • new element /session-config/cookie-config/attribute (0..n) - SameSite Cookie Support jakartaee/servlet#175 (to implement SameSite for example)
  • new element /jsp-config/jsp-property-group/error-on-el-not-found (0..1)
  • new element /context-service
  • new element /managed-executor
  • new element /managed-scheduled-executor
  • new element /managed-thread-factory

@grgrzybek
Copy link
Member Author

No point of using org.osgi.service.servlet.runtime.dto.DTOConstants#FAILURE_REASON_SERVLET_WRITE_TO_LOCATION_DENIED - System.getSecurityManager() is prepared for removal after JDK17 - should be reflected in changed specification.

@grgrzybek
Copy link
Member Author

Jetty 11 seems to be only Servlet API 5.0.0... (so for example no jakarta.servlet.SessionCookieConfig#getAttributes() method).

@grgrzybek
Copy link
Member Author

Jetty 12 Beta (already available in Maven Central) is Servlet 6 implementation.

@grgrzybek grgrzybek changed the title Prepare Pax Web version using JakartaEE 9+ API Prepare Pax Web version using JakartaEE 10+ API Jun 13, 2023
@grgrzybek
Copy link
Member Author

grgrzybek commented Jun 15, 2023

(Dead)lock in HTTP/2 tests for Jetty (need to investigate writer closing in PUSH promises):

"jetty-qtp-24" #24 prio=5 os_prio=0 cpu=41,20ms elapsed=8,61s tid=0x00007f49b0aa3dc0 nid=0x1f701 waiting on condition  [0x00007f4955cfc000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
	- parking to wait for  <0x00000006127b1838> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block([email protected]/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock([email protected]/ForkJoinPool.java:3463)
	at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3434)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:1623)
	at org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block(SharedBlockingCallback.java:214)
	at org.eclipse.jetty.ee10.servlet.HttpOutput.close(HttpOutput.java:571)
	at org.eclipse.jetty.ee10.servlet.writer.HttpWriter.close(HttpWriter.java:44)
	at org.eclipse.jetty.ee10.servlet.writer.ResponseWriter.close(ResponseWriter.java:158)
	- locked <0x00000006127b2788> (a org.eclipse.jetty.ee10.servlet.writer.Utf8HttpWriter)
	at org.ops4j.pax.web.service.jetty.internal.EmbeddedJettyHttps2Test$1.doGet(EmbeddedJettyHttps2Test.java:162)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
	at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:739)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1601)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1534)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.lambda$handle$0(ServletChannel.java:425)
	at org.eclipse.jetty.ee10.servlet.ServletChannel$$Lambda$601/0x0000000800f32350.dispatch(Unknown Source)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:659)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:420)
	at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:458)
	at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:819)
	at org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:611)
	at org.eclipse.jetty.server.Server.handle(Server.java:175)
	at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:553)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:473)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:436)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:288)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:196)
	at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:210)
	at org.eclipse.jetty.http2.HTTP2Connection.offerTask(HTTP2Connection.java:195)
	at org.eclipse.jetty.http2.server.internal.HTTP2ServerConnection.offerTask(HTTP2ServerConnection.java:345)
	at org.eclipse.jetty.http2.server.internal.HTTP2ServerConnection.push(HTTP2ServerConnection.java:227)
	at org.eclipse.jetty.http2.server.internal.HttpStreamOverHTTP2$2.succeeded(HttpStreamOverHTTP2.java:472)
	at org.eclipse.jetty.http2.server.internal.HttpStreamOverHTTP2$2.succeeded(HttpStreamOverHTTP2.java:468)
	at org.eclipse.jetty.util.Promise$Wrapper.succeeded(Promise.java:195)
	at org.eclipse.jetty.http2.HTTP2Session$1.succeeded(HTTP2Session.java:633)
	at org.eclipse.jetty.http2.HTTP2Session$1.succeeded(HTTP2Session.java:626)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.lambda$createLocalStream$20(HTTP2Session.java:2182)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState$$Lambda$605/0x0000000800f34fc0.run(Unknown Source)
	at org.eclipse.jetty.util.Callback$3.succeeded(Callback.java:161)
	at org.eclipse.jetty.util.Callback$Nested.succeeded(Callback.java:399)
	at org.eclipse.jetty.http2.HTTP2Session$ControlEntry.succeeded(HTTP2Session.java:1381)
	at org.eclipse.jetty.http2.internal.HTTP2Flusher$$Lambda$595/0x0000000800f179d8.accept(Unknown Source)
	at java.util.ArrayList.forEach([email protected]/ArrayList.java:1511)
	at org.eclipse.jetty.http2.internal.HTTP2Flusher.finish(HTTP2Flusher.java:323)
	at org.eclipse.jetty.http2.internal.HTTP2Flusher.succeeded(HTTP2Flusher.java:315)
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:291)
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:254)
	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:374)
	at org.eclipse.jetty.http2.internal.HTTP2Flusher.process(HTTP2Flusher.java:292)
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:243)
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.flush(HTTP2Session.java:2301)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.createLocalStream(HTTP2Session.java:2199)
	at org.eclipse.jetty.http2.HTTP2Session$StreamsState.push(HTTP2Session.java:2164)
	at org.eclipse.jetty.http2.HTTP2Session.push(HTTP2Session.java:625)
	at org.eclipse.jetty.http2.HTTP2Stream.push(HTTP2Stream.java:152)
	at org.eclipse.jetty.http2.server.internal.HttpStreamOverHTTP2.push(HttpStreamOverHTTP2.java:467)
	at org.eclipse.jetty.server.internal.HttpChannelState$ChannelRequest.push(HttpChannelState.java:935)
	at org.eclipse.jetty.server.Request$Wrapper.push(Request.java:655)
	at org.eclipse.jetty.server.Request$Wrapper.push(Request.java:655)
	at org.eclipse.jetty.ee10.servlet.PushBuilderImpl.push(PushBuilderImpl.java:125)
	at org.ops4j.pax.web.service.jetty.internal.EmbeddedJettyHttps2Test$1.doGet(EmbeddedJettyHttps2Test.java:173)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
	at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:739)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1601)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1534)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.lambda$handle$0(ServletChannel.java:425)
	at org.eclipse.jetty.ee10.servlet.ServletChannel$$Lambda$601/0x0000000800f32350.dispatch(Unknown Source)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:659)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:420)
	at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:458)
	at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:819)
	at org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:611)
	at org.eclipse.jetty.server.Server.handle(Server.java:175)
	at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:553)
	at org.eclipse.jetty.util.thread.Invocable$ReadyTask.run(Invocable.java:105)
	at org.eclipse.jetty.http2.server.internal.HttpStreamOverHTTP2$1.run(HttpStreamOverHTTP2.java:136)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
	at java.lang.Thread.run([email protected]/Thread.java:833)

grgrzybek added a commit that referenced this issue Jun 21, 2023
grgrzybek added a commit that referenced this issue Jun 21, 2023
grgrzybek added a commit that referenced this issue Feb 20, 2025
grgrzybek added a commit that referenced this issue Feb 20, 2025
…o be verified later. for now it just compiles)
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

No branches or pull requests

5 participants