Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more

Overview

Eclipse Jetty Canonical Repository

This is the canonical repository for the Jetty project, feel free to fork and contribute now!

Submitting a patch or pull request?

Make sure you have an Eclipse Contributor Agreement (ECA) on file.

Project description

Jetty is a lightweight highly scalable java based web server and servlet engine. Our goal is to support web protocols like HTTP, HTTP/2 and WebSocket in a high volume low latency way that provides maximum performance while retaining the ease of use and compatibility with years of servlet development. Jetty is a modern fully async web server that has a long history as a component oriented technology easily embedded into applications while still offering a solid traditional distribution for webapp deployment.

Documentation

Project documentation is available on the Jetty Eclipse website.

Building

To build, use:

  mvn clean install

Eclipse Jetty will be built in jetty-home/target/jetty-home.

The first build may take a longer than expected as Maven downloads all the dependencies.

The build tests do a lot of stress testing, and on some machines it is necessary to set the file descriptor limit to greater than 2048 for the tests to all pass successfully.

It is possible to bypass tests by building with mvn clean install -DskipTests.

Professional Services

Expert advice and production support are available through Webtide.com.

Comments
  • JPMS Support

    JPMS Support

    This can be a root issue for ongoing efforts for Jetty to support JPMS features in Java.

    Jetty has had OSGi support for nigh on a decade and it is not something we can simply abandon in lieu of java adding on a module management system. While that community has made strides in integrating well with the JPMS mechanics at the point of this thread creation it has largely been up in the air as to what that should mean for the Jetty project itself.

    Jetty 9.4.x supports the usage of Java 9 with the module system disabled and it remains to be seen what Jetty 10 will do with it. Lets have some discussion on this thread about that and maybe start getting this broken down a bit.

    @guw We would welcome your input here as well as a historical user of jetty and osgi, your plans regarding jpms and what you might expect from jetty regarding it.

    We also have @PashaTurok with #2189 as the first user requesting this support and there is some info in that issue.

    Additionally, to set expectations this is not something that will happen overnight, especially since it seems that it will involve a fairly substantial review of the overall artifact layout of Jetty.

    Enhancement 
    opened by jmcc0nn3ll 172
  • WebSocket hangs in blockingWrite

    WebSocket hangs in blockingWrite

    Hi,

    it was suggested to me by @joakime to open a new issue for #272 as it still occurs on 9.4.8 - with a slight tendency to occur more often now (which might be just bad luck on our end).

    Unfortunately, I can't say anything new about the issue. It still appears to be random (regardless of load for example) that threads end up in WAITING state and only a server restart helps to solve the issue.

    "clientOutboundChannel-23" #144 prio=5 os_prio=0 tid=0x00007fceb0001000 nid=0x28f7 waiting on condition [0x00007fce59acc000]
       java.lang.Thread.State: WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x00000006ca773c88> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
            at org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block(SharedBlockingCallback.java:210)
            at org.eclipse.jetty.websocket.common.BlockingWriteCallback$WriteBlocker.block(BlockingWriteCallback.java:90)
            at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.blockingWrite(WebSocketRemoteEndpoint.java:107)
            at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.sendString(WebSocketRemoteEndpoint.java:393)
            at org.springframework.web.socket.adapter.jetty.JettyWebSocketSession.sendTextMessage(JettyWebSocketSession.java:273)
            at org.springframework.web.socket.adapter.AbstractWebSocketSession.sendMessage(AbstractWebSocketSession.java:101)
            at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.tryFlushMessageBuffer(ConcurrentWebSocketSessionDecorator.java:132)
            at org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.sendMessage(ConcurrentWebSocketSessionDecorator.java:104)
            at org.springframework.web.socket.messaging.StompSubProtocolHandler.sendToClient(StompSubProtocolHandler.java:470)
            at org.springframework.web.socket.messaging.StompSubProtocolHandler.handleMessageToClient(StompSubProtocolHandler.java:457)
            at org.springframework.web.socket.messaging.SubProtocolWebSocketHandler.handleMessage(SubProtocolWebSocketHandler.java:338)
            at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:135)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:745)
    

    As this is affecting our production servers, I'd appreciate if this is investigated again. I'd also appreciate any workaround that doesn't suggest a server restart.

    Cheers, Christoph

    Bug 
    opened by dreis2211 107
  • 100% CPU usage in Selector using Jetty on Windows

    100% CPU usage in Selector using Jetty on Windows

    I am running embedded jetty 9.4.8.v20171121. My app runs fine for a period of time, usually about 2 hours, with very little CPU usage. Then, 2 threads, both named WebSocketContainer@1861866092-, start to consume 100% CPU when idle. A stack trace at this point yields the following:

     Thread id32:WebSocketContainer@1861866092-32     RUNNABLE     55.84375s
     sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
     sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
     sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
     sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
     sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
     sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
     sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
     org.eclipse.jetty.io.ManagedSelector$SelectorProducer.select(ManagedSelector.java:375)
     org.eclipse.jetty.io.ManagedSelector$SelectorProducer.produce(ManagedSelector.java:304)
     org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:179)
     org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
     org.eclipse.jetty.io.ManagedSelector$$Lambda$23/663060787.run(Unknown Source)
     org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
     org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
     java.lang.Thread.run(Thread.java:748)
    

    This seems very similar to: https://github.com/eclipse/jetty.project/issues/1446

    but I am running a newer version of jetty.

    I can only get this problem to occur on servers running Windows 2012R2. I am running java jdk1.8.0_162 although I have also seen the problem with jdk1.8.0_131.

    Does anyone have any ideas what could be causing this?

    Microsoft Windows JVM Issue Stale 
    opened by joemokos 102
  • Connection getting closed by jetty before passing the whole response

    Connection getting closed by jetty before passing the whole response

    Frequency of issue - Intermittent but frequent (50% success rate) Below is what we see

    -- Jetty receives the request (version - 9.3.14.v20161028) -- Gets the data -- Pass the data (chunked response ) -- Connection is reset by jetty (per wireshark) after passing first chunk and before receiving the ack -- Below exception is seen

    2018-08-29 08:27:12.453 GMT+0000 <@> ERROR <@> [:qtp1586600255-18] <@> <@> <@> <@> <@> <@> <@> Aug 29, 2018 9:27:12 AM org.glassfish.jersey.message.internal.OutboundMessageContext close FINE: Closed org.eclipse.jetty.io.EofException: Closed at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:437) at org.glassfish.jersey.servlet.internal.ResponseWriter$NonCloseableOutputStreamWrapper.write(ResponseWriter.java:325) at java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:167) at org.glassfish.jersey.message.internal.CommittingOutputStream.flushBuffer(CommittingOutputStream.java:307) at org.glassfish.jersey.message.internal.CommittingOutputStream.commit(CommittingOutputStream.java:261) at org.glassfish.jersey.message.internal.CommittingOutputStream.close(CommittingOutputStream.java:276) at org.glassfish.jersey.message.internal.OutboundMessageContext.close(OutboundMessageContext.java:877) at org.glassfish.jersey.server.ContainerResponse.close(ContainerResponse.java:412) at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:784) at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:444) at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:434) at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:329) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.process(Errors.java:267) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:837) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) at org.eclipse.jetty.server.Server.handle(Server.java:534) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) at java.lang.Thread.run(Thread.java:745)

    -- It's not clear under what circumstances the connection is getting closed.

    -- Jetty is listening on port 9001 -- Web server does receive the half chunk

    Working wireshark

    image

    Non working

    image

    Stale 
    opened by Mahendra-9 80
  • WebSocket hangs in blockingWrite

    WebSocket hangs in blockingWrite

    migrated from Bugzilla #484698 status NEW severity normal in component websocket for 9.3.x Reported in version 9.3.5 on platform PC Assigned to: Joakim Erdfelt

    On 2015-12-18 10:48:14 -0500, Ben Tatham wrote:

    My application hangs in the following state. This is usually triggered by some underlying network change (like ip address change of the host running jetty), but it might happen in other cases too.

    java.lang.Thread.State: WAITING at sun.misc.Unsafe.park(Native Method)

    • parking to wait for <1edddee> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(Unknown Source) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source) at org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block(SharedBlockingCallback.java:210) at org.eclipse.jetty.websocket.common.BlockingWriteCallback$WriteBlocker.block(BlockingWriteCallback.java:82) at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.blockingWrite(WebSocketRemoteEndpoint.java:107) at org.eclipse.jetty.websocket.common.WebSocketRemoteEndpoint.sendBytes(WebSocketRemoteEndpoint.java:252)

    Based on the code, it looks like the m_complete.await() call should be signalled on close, failure, or success, but never is.

    More Info Required 
    opened by jmcc0nn3ll 72
  • Blocked IO Thread not woken

    Blocked IO Thread not woken

    Jetty version 9.4.33.v20201020

    Java version 1.8

    OS type/version Redhat 7.4

    Description I am seeing intermittent occurrences of connection loss from the server It is not often but we haven't seen this issue when using the 9.2.x version before the upgrade

    From the client we see KeepAliveFailure The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.

    With the jetty debug logs enabled, it looks like jetty is aborting the connection due to a IOException: unconsumed input It is not always reproducible.

    Wanted insight from the jetty team to help determine the cause and how to avoid Below is a snippet of the debug logs which captures the failing request Any help is appreciated

    21380: Selector sun.nio.ch.EPollSelectorImpl@70e457b woken with none selected
    2020-11-05 22:26:54.151:DBUG:oeji.ManagedSelector:qtp1378318626-21380: Selector sun.nio.ch.EPollSelectorImpl@70e457b woken up from select, 0/0/1 selected
    2020-11-05 22:26:54.151:DBUG:oejs.HttpConnection:qtp1378318626-16923: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=FI,flush=-,to=0/30000}{io=0/1,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0} onFillable exit HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0} null
    2020-11-05 22:26:54.151:DBUG:oeji.ManagedSelector:qtp1378318626-21380: Selector sun.nio.ch.EPollSelectorImpl@70e457b processing 0 keys, 1 updates
    2020-11-05 22:26:54.151:DBUG:oeji.ManagedSelector:qtp1378318626-21380: updateable 1
    2020-11-05 22:26:54.151:DBUG:oejut.ReservedThreadExecutor:qtp1378318626-16923: ReservedThreadExecutor@629db94d{s=3/20,p=0}@5ddf9d34 waiting
    2020-11-05 22:26:54.151:DBUG:oeji.ManagedSelector:qtp1378318626-21380: update org.eclipse.jetty.io.ChannelEndPoint$$Lambda$updateKeyAction$637863116/0x0000000000026032@eaa5af3
    2020-11-05 22:26:54.151:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: Key interests updated 0 -> 1 on SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=FI,flush=-,to=0/30000}{io=1/1,kio=1,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0}
    2020-11-05 22:26:54.151:DBUG:oeji.ManagedSelector:qtp1378318626-21380: updates 0
    2020-11-05 22:26:54.151:DBUG:oeji.ManagedSelector:qtp1378318626-21380: Selector sun.nio.ch.EPollSelectorImpl@70e457b waiting with 1 keys
    2020-11-05 22:26:54.172:DBUG:oeji.ManagedSelector:qtp1378318626-21380: Selector sun.nio.ch.EPollSelectorImpl@70e457b woken up from select, 1/1/1 selected
    2020-11-05 22:26:54.172:DBUG:oeji.ManagedSelector:qtp1378318626-21380: Selector sun.nio.ch.EPollSelectorImpl@70e457b processing 1 keys, 0 updates
    2020-11-05 22:26:54.172:DBUG:oeji.ManagedSelector:qtp1378318626-21380: selected 1 sun.nio.ch.SelectionKeyImpl@749cb8f1 SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=FI,flush=-,to=21/30000}{io=1/1,kio=1,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0} 
    2020-11-05 22:26:54.172:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: onSelected 1->0 r=true w=false for SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=FI,flush=-,to=21/30000}{io=1/0,kio=1,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0}
    2020-11-05 22:26:54.172:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: task CEP:SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=FI,flush=-,to=21/30000}{io=1/0,kio=1,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0}:runFillable:BLOCKING
    2020-11-05 22:26:54.172:DBUG:oejut.ReservedThreadExecutor:qtp1378318626-21380: ReservedThreadExecutor@629db94d{s=3/20,p=0} tryExecute EatWhatYouKill@3e0218ef/SelectorProducer@3e0218eb/PRODUCING/p=false/QueuedThreadPool[qtp1378318626]@52277922{STARTED,8<=23<=200,i=4,r=20,q=0}[ReservedThreadExecutor@629db94d{s=3/20,p=0}][pc=235,pic=0,pec=6,epc=775]@2020-11-05T22:26:54.172996062Z
    2020-11-05 22:26:54.173:DBUG:oejut.ReservedThreadExecutor:qtp1378318626-21380: ReservedThreadExecutor@629db94d{s=2/20,p=0}@5ddf9d34 offer EatWhatYouKill@3e0218ef/SelectorProducer@3e0218eb/PRODUCING/p=false/QueuedThreadPool[qtp1378318626]@52277922{STARTED,8<=23<=200,i=4,r=20,q=0}[ReservedThreadExecutor@629db94d{s=2/20,p=0}][pc=235,pic=0,pec=6,epc=775]@2020-11-05T22:26:54.173049559Z
    2020-11-05 22:26:54.173:DBUG:oejut.ReservedThreadExecutor:qtp1378318626-16923: ReservedThreadExecutor@629db94d{s=2/20,p=0}@5ddf9d34 task=EatWhatYouKill@3e0218ef/SelectorProducer@3e0218eb/IDLE/p=true/QueuedThreadPool[qtp1378318626]@52277922{STARTED,8<=23<=200,i=4,r=20,q=0}[ReservedThreadExecutor@629db94d{s=2/20,p=0}][pc=235,pic=0,pec=6,epc=775]@2020-11-05T22:26:54.173155782Z
    2020-11-05 22:26:54.173:DBUG:oejuts.EatWhatYouKill:qtp1378318626-21380: EatWhatYouKill@3e0218ef/SelectorProducer@3e0218eb/IDLE/p=true/QueuedThreadPool[qtp1378318626]@52277922{STARTED,8<=23<=200,i=4,r=20,q=0}[ReservedThreadExecutor@629db94d{s=2/20,p=0}][pc=235,pic=0,pec=6,epc=775]@2020-11-05T22:26:54.173103891Z m=EXECUTE_PRODUCE_CONSUME t=CEP:SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=FI,flush=-,to=22/30000}{io=1/0,kio=1,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0}:runFillable:BLOCKING/BLOCKING
    2020-11-05 22:26:54.173:DBUG:oejuts.EatWhatYouKill:qtp1378318626-16923: EatWhatYouKill@3e0218ef/SelectorProducer@3e0218eb/IDLE/p=true/QueuedThreadPool[qtp1378318626]@52277922{STARTED,8<=23<=200,i=4,r=20,q=0}[ReservedThreadExecutor@629db94d{s=2/20,p=0}][pc=235,pic=0,pec=6,epc=776]@2020-11-05T22:26:54.17321245Z tryProduce true
    2020-11-05 22:26:54.173:DBUG:oeji.ManagedSelector:qtp1378318626-16923: updateable 0
    2020-11-05 22:26:54.173:DBUG:oeji.ManagedSelector:qtp1378318626-16923: updates 0
    2020-11-05 22:26:54.173:DBUG:oeji.FillInterest:qtp1378318626-21380: fillable FillInterest@eaa5afe{AC.ReadCB@eaa5362{HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=FI,flush=-,to=22/30000}{io=1/0,kio=1,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0}}}
    2020-11-05 22:26:54.173:DBUG:oeji.ChannelEndPoint:qtp1378318626-16923: Key interests updated 1 -> 0 on SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=FI,flush=-,to=22/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0}
    2020-11-05 22:26:54.173:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=22/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0} onFillable enter HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0} null
    2020-11-05 22:26:54.173:DBUG:oeji.ManagedSelector:qtp1378318626-16923: Selector sun.nio.ch.EPollSelectorImpl@70e457b waiting with 1 keys
    2020-11-05 22:26:54.173:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: filled 8192 HeapByteBuffer@6b49cc31[p=0,l=8192,c=8192,r=8192]={<<<POST /application/webservices...1:2187630],\n[Hierarchie>>>}
    2020-11-05 22:26:54.173:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0} filled 8192 HeapByteBuffer@6b49cc31[p=0,l=8192,c=8192,r=8192]={<<<POST /application/webservices...1:2187630],\n[Hierarchie>>>}
    2020-11-05 22:26:54.173:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=START,0 of -1},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=4,c=false/false,a=IDLE,uri=null,age=0} parse HeapByteBuffer@6b49cc31[p=0,l=8192,c=8192,r=8192]={<<<POST /application/webservices...1:2187630],\n[Hierarchie>>>} {}
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: parseNext s=START HeapByteBuffer@6b49cc31[p=0,l=8192,c=8192,r=8192]={<<<POST /application/webservices...1:2187630],\n[Hierarchie>>>}
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: START --> SPACE1
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: SPACE1 --> URI
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: URI --> SPACE2
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: SPACE2 --> REQUEST_VERSION
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: REQUEST_VERSION --> HEADER
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.36627) --> IN_VALUE
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.36627) --> FIELD
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Content-Type: text/xml; charset=UTF-8 --> IN_VALUE
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Content-Type: text/xml; charset=UTF-8 --> FIELD
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER: --> IN_NAME
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:SOAPAction --> VALUE
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:SOAPAction --> IN_VALUE
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:SOAPAction --> FIELD
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Host: hostnameA:8082 --> IN_VALUE
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Host: hostnameA:8082 --> FIELD
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Content-Length --> VALUE
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Content-Length --> IN_VALUE
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Content-Length --> FIELD
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Accept-Encoding: gzip --> IN_VALUE
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER:Accept-Encoding: gzip --> FIELD
    2020-11-05 22:26:54.173:DBUG:oejh.HttpParser:qtp1378318626-21380: HEADER --> CONTENT
    2020-11-05 22:26:54.173:DBUG:oejs.HttpChannel:qtp1378318626-21380: REQUEST for //hostnameA:8082/application/webservices/Queries on HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=5,c=false/false,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=0}
    POST //hostnameA:8082/application/webservices/Queries HTTP/1.1
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.36627)
    Content-Type: text/xml; charset=UTF-8
    SOAPAction: ""
    Host: hostnameA:8082
    Content-Length: 14781
    Accept-Encoding: gzip
    
    
    2020-11-05 22:26:54.173:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,0 of 14781},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=5,c=false/false,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=0} parsed true HttpParser{s=CONTENT,0 of 14781}
    2020-11-05 22:26:54.173:DBUG:oejs.HttpChannel:qtp1378318626-21380: handle //hostnameA:8082/application/webservices/Queries HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=5,c=false/false,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=0} 
    2020-11-05 22:26:54.173:DBUG:oejs.HttpChannelState:qtp1378318626-21380: handling HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0}
    2020-11-05 22:26:54.173:DBUG:oejs.HttpChannel:qtp1378318626-21380: action DISPATCH HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=5,c=false/false,a=HANDLING,uri=//hostnameA:8082/application/webservices/Queries,age=0}
    2020-11-05 22:26:54.173:DBUG:oejs.Server:qtp1378318626-21380: REQUEST POST /application/webservices/Queries on HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=5,c=false/false,a=HANDLING,uri=//hostnameA:8082/application/webservices/Queries,age=0}
    2020-11-05 22:26:54.173:DBUG:oejsh.ContextHandler:qtp1378318626-21380: scope ||/application/webservices/Queries @ o.e.j.w.WebAppContext@52262d08{/application,file:///home/monjuu-g/dev/application-app/temp/jetty-0_0_0_0-8082-application-app-1_2_1-20201023_205439_war-_application-any-1718594855883126077/webapp/,AVAILABLE}{/home/monjuu-g/dev/application-app/lib/application-app-1.2.1-20201023_205439.war}
    2020-11-05 22:26:54.173:DBUG:oejsh.ContextHandler:qtp1378318626-21380: context=/application||/webservices/Queries @ o.e.j.w.WebAppContext@52262d08{/application,file:///home/monjuu-g/dev/application-app/temp/jetty-0_0_0_0-8082-application-app-1_2_1-20201023_205439_war-_application-any-1718594855883126077/webapp/,AVAILABLE}{/home/monjuu-g/dev/application-app/lib/application-app-1.2.1-20201023_205439.war}
    2020-11-05 22:26:54.173:DBUG:oejs.session:qtp1378318626-21380: Entering scope org.eclipse.jetty.server.session.SessionHandler1654434902==dftMaxIdleSec=1800, dispatch=REQUEST asyncstarted=false
    2020-11-05 22:26:54.173:DBUG:oejs.session:qtp1378318626-21380: sessionHandler=org.eclipse.jetty.server.session.SessionHandler1654434902==dftMaxIdleSec=1800 session=
    2020-11-05 22:26:54.174:DBUG:oejs.ServletHandler:qtp1378318626-21380: servlet /application||/webservices/Queries -> springDispatcherServlet@abe94f11==org.springframework.web.servlet.DispatcherServlet,jsp=null,order=1,inst=true,async=false
    2020-11-05 22:26:54.174:DBUG:oejs.ServletHandler:qtp1378318626-21380: chain=Chain@4ed594f6(springSecurityFilterChain@5d5577f3==org.springframework.web.filter.DelegatingFilterProxy,inst=true,async=false)->ChainEnd@4ed594f4(springDispatcherServlet@abe94f11==org.springframework.web.servlet.DispatcherServlet,jsp=null,order=1,inst=true,async=false)
    2020-11-05 22:26:54.174:DBUG:oejs.session:qtp1378318626-21380: Creating new session id=node0val0bgye9f3z1ex6wtbo2fpo010270
    2020-11-05 22:26:54.174:DBUG:oejs.session:qtp1378318626-21380: Session node0val0bgye9f3z1ex6wtbo2fpo010270 in use, stopping timer, active requests=1
    2020-11-05 22:26:54.174:DBUG:oejs.session:qtp1378318626-21380: Cancelled timer for session node0val0bgye9f3z1ex6wtbo2fpo010270
    2020-11-05 22:26:54.174:DBUG:oejs.Request:qtp1378318626-21380: Request Request(POST //hostnameA:8082/application/webservices/Queries)@eaa53e6 entering session=Session@2677f78e{id=node0val0bgye9f3z1ex6wtbo2fpo010270,x=node0val0bgye9f3z1ex6wtbo2fpo010270.node0,req=1,res=true}
    2020-11-05 22:26:54.174:DBUG:oejh.HttpCookie:qtp1378318626-21380: No default value for SameSite
    2020-11-05 22:26:54.174:DBUG:oejs.HttpChannelState:qtp1378318626-21380: sendError HttpChannelState@eaa53ec{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0}
    2020-11-05 22:26:54.174:DBUG:oejs.session:qtp1378318626-21380: Leaving scope org.eclipse.jetty.server.session.SessionHandler1654434902==dftMaxIdleSec=1800 dispatch=REQUEST, async=false, session=Session@2677f78e{id=node0val0bgye9f3z1ex6wtbo2fpo010270,x=node0val0bgye9f3z1ex6wtbo2fpo010270.node0,req=1,res=true}, oldsession=, oldsessionhandler=
    2020-11-05 22:26:54.174:DBUG:oejs.Server:qtp1378318626-21380: handled=true async=false committed=true on HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=true i=true al=0},r=5,c=false/false,a=HANDLING,uri=//hostnameA:8082/application/webservices/Queries,age=1}
    2020-11-05 22:26:54.174:DBUG:oejs.HttpChannelState:qtp1378318626-21380: unhandle HttpChannelState@eaa53ec{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=true i=true al=0}
    2020-11-05 22:26:54.174:DBUG:oejs.HttpChannelState:qtp1378318626-21380: nextAction(false) SEND_ERROR HttpChannelState@eaa53ec{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=false al=0}
    2020-11-05 22:26:54.174:DBUG:oejs.HttpChannel:qtp1378318626-21380: action SEND_ERROR HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=false al=0},r=5,c=false/false,a=HANDLING,uri=//hostnameA:8082/application/webservices/Queries,age=1}
    2020-11-05 22:26:54.174:DBUG:oejs.ErrorPageErrorHandler:qtp1378318626-21380: getErrorPage(POST /application/webservices/Queries) => error_page=null (from global default)
    2020-11-05 22:26:54.174:DBUG:oejs.HttpChannelState:qtp1378318626-21380: completing HttpChannelState@eaa53ec{s=HANDLING rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=false al=0}
    2020-11-05 22:26:54.174:DBUG:oejs.HttpChannel:qtp1378318626-21380: sendResponse info= content=DirectByteBuffer@fbcfc13[p=0,l=496,c=32768,r=496]={<<<<html>\n<head>\n<meta http-...<hr/>\n\n</body>\n</html>\n>>>evelPerHi...alue xs} complete=true committing=true callback=org.eclipse.jetty.util.Callback$3@267627b7
    2020-11-05 22:26:54.174:DBUG:oejs.HttpChannel:qtp1378318626-21380: COMMIT for /application/webservices/Queries on HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=HANDLING rs=COMPLETING os=COMMITTED is=IDLE awp=false se=false i=false al=0},r=5,c=false/false,a=HANDLING,uri=//hostnameA:8082/application/webservices/Queries,age=1}
    401  HTTP/1.1
    Set-Cookie: JSESSIONID=node0val0bgye9f3z1ex6wtbo2fpo010270.node0; Path=/application
    WWW-Authenticate: Basic realm="Realm"
    X-Content-Type-Options: nosniff
    X-XSS-Protection: 1; mode=block
    X-Frame-Options: DENY
    Cache-Control: must-revalidate,no-cache,no-store
    Content-Type: text/html;charset=iso-8859-1
    
    
    2020-11-05 22:26:54.174:DBUG:oejs.Request:qtp1378318626-21380: Response Request[POST //hostnameA:8082/application/webservices/Queries]@eaa53e6 committing for session Session@2677f78e{id=node0val0bgye9f3z1ex6wtbo2fpo010270,x=node0val0bgye9f3z1ex6wtbo2fpo010270.node0,req=1,res=true}
    2020-11-05 22:26:54.174:DBUG:oejs.HttpConnection:qtp1378318626-21380: generate: NEED_HEADER for org.eclipse.jetty.server.HttpConnection$SendCallback@eaa5394[PROCESSING][i=HTTP/1.1{s=401,h=7,cl=-1},cb=org.eclipse.jetty.server.HttpChannel$SendCallback@26763053] (null,[p=0,l=496,c=32768,r=496],true)@START
    2020-11-05 22:26:54.174:DBUG:oejh.HttpGenerator:qtp1378318626-21380: generateHeaders HTTP/1.1{s=401,h=7,cl=-1} last=true content=DirectByteBuffer@fbcfc13[p=0,l=496,c=32768,r=496]={<<<<html>\n<head>\n<meta http-...<hr/>\n\n</body>\n</html>\n>>>evelPerHi...alue xs}
    2020-11-05 22:26:54.174:DBUG:oejh.HttpGenerator:qtp1378318626-21380: Set-Cookie: JSESSIONID=node0val0bgye9f3z1ex6wtbo2fpo010270.node0; Path=/application<|WWW-Authenticate: Basic realm="Realm"<|X-Content-Type-Options: nosniff<|X-XSS-Protection: 1; mode=block<|X-Frame-Options: DENY<|Cache-Control: must-revalidate,no-cache,no-store<|Content-Type: text/html;charset=iso-8859-1<|<|
    2020-11-05 22:26:54.174:DBUG:oejh.HttpGenerator:qtp1378318626-21380: CONTENT_LENGTH
    2020-11-05 22:26:54.174:DBUG:oejs.HttpConnection:qtp1378318626-21380: generate: FLUSH for org.eclipse.jetty.server.HttpConnection$SendCallback@eaa5394[PROCESSING][i=HTTP/1.1{s=401,h=7,cl=-1},cb=org.eclipse.jetty.server.HttpChannel$SendCallback@26763053] ([p=0,l=386,c=8192,r=386],[p=0,l=496,c=32768,r=496],true)@COMPLETING
    2020-11-05 22:26:54.174:DBUG:oeji.WriteFlusher:qtp1378318626-21380: write: WriteFlusher@eaa5af5{IDLE}->null [HeapByteBuffer@711c6a74[p=0,l=386,c=8192,r=386]={<<<HTTP/1.1 401 Unauthorized...y(9.4.33.v20201020)\r\n\r\n>>>\nl versio...; EMERG},DirectByteBuffer@fbcfc13[p=0,l=496,c=32768,r=496]={<<<<html>\n<head>\n<meta http-...<hr/>\n\n</body>\n</html>\n>>>evelPerHi...alue xs}]
    2020-11-05 22:26:54.174:DBUG:oeji.WriteFlusher:qtp1378318626-21380: update WriteFlusher@eaa5af5{WRITING}->null:IDLE-->WRITING
    2020-11-05 22:26:54.174:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: flushed 882 SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=W,to=1/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,0 of 14781},g=HttpGenerator@eaa53b5{s=COMPLETING}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=HANDLING rs=COMPLETING os=COMMITTED is=IDLE awp=false se=false i=false al=0},r=5,c=false/false,a=HANDLING,uri=//hostnameA:8082/application/webservices/Queries,age=1}
    2020-11-05 22:26:54.174:DBUG:oeji.WriteFlusher:qtp1378318626-21380: Flushed=true written=882 remaining=0 WriteFlusher@eaa5af5{WRITING}->null
    2020-11-05 22:26:54.174:DBUG:oeji.WriteFlusher:qtp1378318626-21380: update WriteFlusher@eaa5af5{IDLE}->null:WRITING-->IDLE
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: generate: DONE for org.eclipse.jetty.server.HttpConnection$SendCallback@eaa5394[PROCESSING][i=HTTP/1.1{s=401,h=7,cl=-1},cb=org.eclipse.jetty.server.HttpChannel$SendCallback@26763053] ([p=386,l=386,c=8192,r=0],[p=496,l=496,c=32768,r=0],true)@END
    2020-11-05 22:26:54.175:DBUG:oejs.HttpChannelState:qtp1378318626-21380: completed HttpChannelState@eaa53ec{s=HANDLING rs=COMPLETING os=COMPLETED is=IDLE awp=false se=false i=false al=0}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpChannelState:qtp1378318626-21380: unhandle HttpChannelState@eaa53ec{s=HANDLING rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpChannelState:qtp1378318626-21380: nextAction(false) TERMINATED HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpChannel:qtp1378318626-21380: action TERMINATED HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpChannel:qtp1378318626-21380: onCompleted for /application/webservices/Queries written=496
    2020-11-05 22:26:54.175:DBUG:oejs.Request:qtp1378318626-21380: Request Request[POST //hostnameA:8082/application/webservices/Queries]@eaa53e6 leaving session Session@2677f78e{id=node0val0bgye9f3z1ex6wtbo2fpo010270,x=node0val0bgye9f3z1ex6wtbo2fpo010270.node0,req=1,res=true}
    2020-11-05 22:26:54.175:DBUG:oejs.session:qtp1378318626-21380: Complete called with session Session@2677f78e{id=node0val0bgye9f3z1ex6wtbo2fpo010270,x=node0val0bgye9f3z1ex6wtbo2fpo010270.node0,req=1,res=true}
    2020-11-05 22:26:54.175:DBUG:oejs.session:qtp1378318626-21380: Session node0val0bgye9f3z1ex6wtbo2fpo010270 complete, active requests=0
    2020-11-05 22:26:54.175:DBUG:oejs.session:qtp1378318626-21380: Session node0val0bgye9f3z1ex6wtbo2fpo010270 no eviction
    2020-11-05 22:26:54.175:DBUG:oejs.session:qtp1378318626-21380: (Re)starting timer for session node0val0bgye9f3z1ex6wtbo2fpo010270 at 1800000ms
    2020-11-05 22:26:54.175:DBUG:oeji.CyclicTimeout:qtp1378318626-21380: Installed timeout in 1800000 ms, waking up in 1800000 ms
    2020-11-05 22:26:54.175:DBUG:oejs.session:qtp1378318626-21380: Store: id=node0val0bgye9f3z1ex6wtbo2fpo010270, mdirty=true, dirty=true, lsave=0, period=0, elapsed=1604615214175
    2020-11-05 22:26:54.175:DBUG:oejs.session:qtp1378318626-21380: Non passivating SessionDataStore, session in SessionCache only id=node0val0bgye9f3z1ex6wtbo2fpo010270
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,0 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} parse HeapByteBuffer@6b49cc31[p=279,l=8192,c=8192,r=7913]={POST /pro...zip\r\n\r\n<<<<?xml version="1.0" encod...1:2187630],\n[Hierarchie>>>} {}
    2020-11-05 22:26:54.175:DBUG:oejh.HttpParser:qtp1378318626-21380: parseNext s=CONTENT HeapByteBuffer@6b49cc31[p=279,l=8192,c=8192,r=7913]={POST /pro...zip\r\n\r\n<<<<?xml version="1.0" encod...1:2187630],\n[Hierarchie>>>}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpChannel:qtp1378318626-21380: onContent HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} Content@2676aaaf{HeapByteBufferR@2676aaa9[p=279,l=8192,c=8192,r=7913]={POST /pro...zip\r\n\r\n<<<<?xml version="1.0" encod...1:2187630],\n[Hierarchie>>>}}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpInput:qtp1378318626-21380: HttpInputOverHTTP@eaa5203[c=0,q=0,[0]=null,s=STREAM] addContent Content@2676aaaf{HeapByteBufferR@2676aaa9[p=279,l=8192,c=8192,r=7913]={POST /pro...zip\r\n\r\n<<<<?xml version="1.0" encod...1:2187630],\n[Hierarchie>>>}}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,7913 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} parsed false HttpParser{s=CONTENT,7913 of 14781}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: unconsumed input HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,7913 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: releaseRequestBuffer HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,7913 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2}
    2020-11-05 22:26:54.175:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: filled 5227 HeapByteBuffer@6b49cc31[p=0,l=5227,c=8192,r=5227]={<<<s].[Global FX].[ALL].[All...NodeA>>>AllMember...rarchie}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,7913 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} filled 5227 HeapByteBuffer@6b49cc31[p=0,l=5227,c=8192,r=5227]={<<<s].[Global FX].[ALL].[All...NodeA>>>AllMember...rarchie}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,7913 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} parse HeapByteBuffer@6b49cc31[p=0,l=5227,c=8192,r=5227]={<<<s].[Global FX].[ALL].[All...NodeA>>>AllMember...rarchie} {}
    2020-11-05 22:26:54.175:DBUG:oejh.HttpParser:qtp1378318626-21380: parseNext s=CONTENT HeapByteBuffer@6b49cc31[p=0,l=5227,c=8192,r=5227]={<<<s].[Global FX].[ALL].[All...NodeA>>>AllMember...rarchie}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpChannel:qtp1378318626-21380: onContent HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} Content@2676d903{HeapByteBufferR@2676d90d[p=0,l=5227,c=8192,r=5227]={<<<s].[Global FX].[ALL].[All...NodeA>>>AllMember...rarchie}}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpInput:qtp1378318626-21380: HttpInputOverHTTP@eaa5203[c=7913,q=0,[0]=null,s=STREAM] addContent Content@2676d903{HeapByteBufferR@2676d90d[p=0,l=5227,c=8192,r=5227]={<<<s].[Global FX].[ALL].[All...NodeA>>>AllMember...rarchie}}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} parsed false HttpParser{s=CONTENT,13140 of 14781}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: releaseRequestBuffer HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2}
    2020-11-05 22:26:54.175:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: filled 0 HeapByteBuffer@6b49cc31[p=0,l=0,c=8192,r=0]={<<<>>>s].[Globa...rarchie}
    2020-11-05 22:26:54.175:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: filled 0 HeapByteBuffer@6b49cc31[p=0,l=0,c=8192,r=0]={<<<>>>s].[Globa...rarchie}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} filled 0 HeapByteBuffer@6b49cc31[p=0,l=0,c=8192,r=0]={<<<>>>s].[Globa...rarchie}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} parse HeapByteBuffer@6b49cc31[p=0,l=0,c=8192,r=0]={<<<>>>s].[Globa...rarchie} {}
    2020-11-05 22:26:54.175:DBUG:oejh.HttpParser:qtp1378318626-21380: parseNext s=CONTENT HeapByteBuffer@6b49cc31[p=0,l=0,c=8192,r=0]={<<<>>>s].[Globa...rarchie}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2} parsed false HttpParser{s=CONTENT,13140 of 14781}
    2020-11-05 22:26:54.175:DBUG:oejs.HttpConnection:qtp1378318626-21380: releaseRequestBuffer HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=5,c=true/true,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=2}
    2020-11-05 22:26:54.176:DBUG:oejs.HttpConnection:qtp1378318626-21380: abort HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=ABORTED is=IDLE awp=false se=false i=false al=0},r=5,c=true/false,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=3} {}
    java.io.IOException: unconsumed input
    	at org.eclipse.jetty.server.HttpConnection.onCompleted(HttpConnection.java:430)
    	at org.eclipse.jetty.server.HttpChannel.onCompleted(HttpChannel.java:743)
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:363)
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
    	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
    	at java.lang.Thread.run(Thread.java:748)
    2020-11-05 22:26:54.176:DBUG:oeji.AbstractEndPoint:qtp1378318626-21380: close SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=ABORTED is=IDLE awp=false se=false i=false al=0},r=5,c=true/false,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=3}
    2020-11-05 22:26:54.176:DBUG:oeji.AbstractEndPoint:qtp1378318626-21380: close() SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,OPEN,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=ABORTED is=IDLE awp=false se=false i=false al=0},r=5,c=true/false,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=3}
    2020-11-05 22:26:54.176:DBUG:oeji.ChannelEndPoint:qtp1378318626-21380: doClose SocketChannelEndPoint@eaa5ad1{l=/hostnameA_IP:8082,r=/clientA_IP:51419,CLOSED,fill=-,flush=-,to=0/30000}{io=0/0,kio=0,kro=1}->HttpConnection@eaa5362[p=HttpParser{s=CONTENT,13140 of 14781},g=HttpGenerator@eaa53b5{s=END}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=ABORTED is=IDLE awp=false se=false i=false al=0},r=5,c=true/false,a=IDLE,uri=//hostnameA:8082/application/webservices/Queries,age=3}
    2020-11-05 22:26:54.176:DBUG:oeji.FillInterest:qtp1378318626-21380: onClose FillInterest@eaa5afe{null}
    2020-11-05 22:26:54.176:DBUG:oeji.ManagedSelector:qtp1378318626-21380: Wakeup ManagedSelector@3e021b44{STARTED} id=3 keys=1 selected=0 updates=0
    2020-11-05 22:26:54.176:DBUG:oejut.QueuedThreadPool:qtp1378318626-21380: queue org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint@2e7e33f1 startThread=0
    2020-11-05 22:26:54.176:DBUG:oejs.HttpChannelState:qtp1378318626-21380: recycle HttpChannelState@eaa53ec{s=IDLE rs=COMPLETED os=ABORTED is=IDLE awp=false se=false i=false al=0}
    2020-11-05 22:26:54.176:DBUG:oeji.ManagedSelector:qtp1378318626-16923: Selector sun.nio.ch.EPollSelectorImpl@70e457b woken with none selected
    2020-11-05 22:26:54.176:DBUG:oejh.HttpParser:qtp1378318626-21380: close HttpParser{s=CONTENT,13140 of 14781}
    2020-11-05 22:26:54.176:DBUG:oeji.ManagedSelector:qtp1378318626-16923: Selector sun.nio.ch.EPollSelectorImpl@70e457b woken up from select, 0/0/0 selected
    2020-11-05 22:26:54.176:DBUG:oejh.HttpParser:qtp1378318626-21380: CONTENT --> CLOSE
    2020-11-05 22:26:54.176:DBUG:oeji.ManagedSelector:qtp1378318626-16923: Selector sun.nio.ch.EPollSelectorImpl@70e457b processing 0 keys, 0 updates
    2020-11-05 22:26:54.176:DBUG:oeji.ManagedSelector:qtp1378318626-16923: updateable 0
    2020-11-05 22:26:54.176:DBUG:oeji.ManagedSelector:qtp1378318626-16923: updates 0
    2020-11-05 22:26:54.176:DBUG:oejs.HttpChannel:qtp1378318626-21380: !handle TERMINATED HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=5,c=false/false,a=IDLE,uri=null,age=0}
    2020-11-05 22:26:54.176:DBUG:oejut.QueuedThreadPool:qtp1378318626-20348: run org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint@2e7e33f1 in QueuedThreadPool[qtp1378318626]@52277922{STARTED,8<=23<=200,i=3,r=20,q=0}[ReservedThreadExecutor@629db94d{s=2/20,p=0}]
    2020-11-05 22:26:54.176:DBUG:oeji.ManagedSelector:qtp1378318626-16923: Selector sun.nio.ch.EPollSelectorImpl@70e457b waiting with 0 keys
    2020-11-05 22:26:54.176:DBUG:oejs.HttpConnection:qtp1378318626-21380: HttpConnection@eaa5362::SocketChannelEndPoint@eaa5ad1{l=0.0.0.0/0.0.0.0:8082,r=null,CLOSED,fill=-,flush=-,to=1/30000}{io=0/0,kio=-1,kro=-1}->HttpConnection@eaa5362[p=HttpParser{s=CLOSE,13140 of 14781},g=HttpGenerator@eaa53b5{s=START}]=>HttpChannelOverHttp@eaa53b2{s=HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0},r=5,c=false/false,a=IDLE,uri=null,age=0} onFillable exit HttpChannelState@eaa53ec{s=IDLE rs=BLOCKING os=OPEN is=IDLE awp=false se=false i=true al=0} null
    2020-11-05 22:26:54.176:DBUG:oejut.ReservedThreadExecutor:qtp1378318626-21380: ReservedThreadExecutor@629db94d{s=3/20,p=0}@5db4c856 waiting
    
    Bug 
    opened by tchgitav 63
  • java.io.EOFException: HttpConnectionOverHTTP@6f56146f::DecryptedEndPoint@71b6e0a0... error

    java.io.EOFException: HttpConnectionOverHTTP@6f56146f::DecryptedEndPoint@71b6e0a0... error

    If an HTTP client instance is used in a multithreading environment (e.g. multiple requests are sent via the same object in parallel) we get occasionally the following error:

    java.io.EOFException: HttpConnectionOverHTTP@43f11127::DecryptedEndPoint@58c1c452{localhost/127.0.0.1:8080<->/127.0.0.1:50734,OPEN,fill=-,flush=P,to=1/0}

    Code to reproduce can be found here: https://github.com/Andremoniy/jetty.httpclient.sslissue

    The full stacktrace:

    java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@43f11127::DecryptedEndPoint@58c1c452{localhost/127.0.0.1:8080<->/127.0.0.1:50734,OPEN,fill=-,flush=P,to=1/0}
    	at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118)
    	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101)
    	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:683)
    	at com.github.andremoniy.jetty.httpclient.sslissue.Bootstrap.lambda$main$1(Bootstrap.java:60)
    	at java.base/java.lang.Thread.run(Thread.java:834)
    Caused by: 
    java.io.EOFException: HttpConnectionOverHTTP@43f11127::DecryptedEndPoint@58c1c452{localhost/127.0.0.1:8080<->/127.0.0.1:50734,OPEN,fill=-,flush=P,to=1/0}
    	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:338)
    	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1552)
    	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:209)
    	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:147)
    	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:73)
    	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:133)
    	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:155)
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint$IncompleteWriteCallback.succeeded(SslConnection.java:1309)
    	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:293)
    	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380)
    	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onIncompleteFlush(SslConnection.java:1068)
    	at org.eclipse.jetty.io.AbstractEndPoint$2.onIncompleteFlush(AbstractEndPoint.java:54)
    	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:285)
    	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380)
    	at org.eclipse.jetty.client.http.HttpSenderOverHTTP$HeadersCallback.process(HttpSenderOverHTTP.java:268)
    	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
    	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
    	at org.eclipse.jetty.client.http.HttpSenderOverHTTP.sendHeaders(HttpSenderOverHTTP.java:62)
    	at org.eclipse.jetty.client.HttpSender.send(HttpSender.java:214)
    	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.send(HttpChannelOverHTTP.java:85)
    	at org.eclipse.jetty.client.HttpChannel.send(HttpChannel.java:128)
    	at org.eclipse.jetty.client.HttpConnection.send(HttpConnection.java:201)
    	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP$Delegate.send(HttpConnectionOverHTTP.java:255)
    	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.send(HttpConnectionOverHTTP.java:122)
    	at org.eclipse.jetty.client.http.HttpDestinationOverHTTP.send(HttpDestinationOverHTTP.java:38)
    	at org.eclipse.jetty.client.HttpDestination.process(HttpDestination.java:346)
    	at org.eclipse.jetty.client.HttpDestination.process(HttpDestination.java:304)
    	at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:294)
    	at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:269)
    	at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:246)
    	at org.eclipse.jetty.client.HttpClient.send(HttpClient.java:576)
    	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:726)
    	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:679)
    	at com.github.andremoniy.jetty.httpclient.sslissue.Bootstrap.lambda$main$1(Bootstrap.java:60)
    	at java.base/java.lang.Thread.run(Thread.java:834)
    
    Bug Sponsored 
    opened by Andremoniy 59
  • Jetty HTTP/2 client problems

    Jetty HTTP/2 client problems

    Hi guys, I tried to ask a question on StackOverflow here seems better format according to sbordet, so posting here. http://stackoverflow.com/questions/40837801/jetty-http-2-client-problems?noredirect=1#comment68912667_40837801

    I have been trying different Jetty client versions for my http client and I have been hitting some problems with high load (several thousands requests per minutes). I use 2 client selectors (setSelectors), 16384 as setInputBufferSize. Same number as setRequestBufferSize, setResponseBufferSize. 2024 as setMaxConnectionsPerDestination. setConnectBlocking set to true. For response I use BufferingResponseListener with 8388608 as param in constructor (8 MB).

    The problems are:

    9.3.9.v20160517:

    AsynchronousCloseException

    
    2016-11-26 23:20:06,638 [asyncCallback11] WARN  http.HttpDataAccess - Exception details: 
    java.nio.channels. AsynchronousCloseException: null
    at org.eclipse.jetty.http2. client.http. HttpConnectionOverHTTP2.close( HttpConnectionOverHTTP2.java: 90) ~[http2-http-client-transport- 9.3.14.v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. client.http. HttpClientTransportOverHTTP2. onClose( HttpClientTransportOverHTTP2. java:160) ~[http2-http-client-transport- 9.3.14.v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. client.http. HttpClientTransportOverHTTP2$ SessionListenerPromise. onClose( HttpClientTransportOverHTTP2. java:216) ~[http2-http-client-transport- 9.3.14.v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. HTTP2Session.notifyClose( HTTP2Session.java:1061) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. HTTP2Session.onGoAway( HTTP2Session.java:424) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. parser.BodyParser. notifyGoAway(BodyParser.java: 187) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. parser.GoAwayBodyParser. onGoAway(GoAwayBodyParser. java:169) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. parser.GoAwayBodyParser.parse( GoAwayBodyParser.java:139) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. parser.Parser.parseBody( Parser.java:182) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. parser.Parser.parse(Parser. java:110) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. HTTP2Connection$HTTP2Producer. produce(HTTP2Connection.java: 199) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.util.thread. strategy.ProduceConsume. execute(ProduceConsume.java: 69) ~[jetty-util-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.http2. HTTP2Connection.onFillable( HTTP2Connection.java:110) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.http2. HTTP2Connection$FillCallback. succeeded(HTTP2Connection. java:251) ~[http2-common-9.3.14. v20161028.jar:9.3.14. v20161028]
    at org.eclipse.jetty.io. FillInterest.fillable( FillInterest.java:95) ~[jetty-io-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.io.ssl. SslConnection.onFillable( SslConnection.java:202) ~[jetty-io-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.io. AbstractConnection$ ReadCallback.succeeded( AbstractConnection.java:273) ~[jetty-io-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.io. FillInterest.fillable( FillInterest.java:95) ~[jetty-io-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.io. SelectChannelEndPoint$2.run( SelectChannelEndPoint.java:93) ~[jetty-io-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.util.thread. strategy. ExecuteProduceConsume. executeProduceConsume( ExecuteProduceConsume.java: 303) ~[jetty-util-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.util.thread. strategy. ExecuteProduceConsume. produceConsume( ExecuteProduceConsume.java: 148) ~[jetty-util-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.util.thread. strategy. ExecuteProduceConsume.run( ExecuteProduceConsume.java: 136) ~[jetty-util-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.util.thread. QueuedThreadPool.runJob( QueuedThreadPool.java:671) ~[jetty-util-9.3.14.v20161028. jar:9.3.14.v20161028]
    at org.eclipse.jetty.util.thread. QueuedThreadPool$2.run( QueuedThreadPool.java:589) ~[jetty-util-9.3.14.v20161028. jar:9.3.14.v20161028]
    
    

    9.3.10.v20160621 , 9.3.11.v20160721 - same

    9.3.12.v20160915 - onComplete callback of BufferingResponseListener is called more than once.

    9.3.13.v20161014 - AsynchronousCloseException, as previous versions. And in addition something new

    2016-11-26 23:21:50,672 [asyncCallback10] WARN  http.HttpDataAccess -     Exception details: 
    java.lang. ArrayIndexOutOfBoundsException : 16384
    at org.eclipse.jetty.http2.hpack. Huffman.encode(Huffman.java: 466) ~[http2-hpack-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2.hpack. Huffman.encode(Huffman.java: 414) ~[http2-hpack-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2.hpack. HpackEncoder.encodeValue( HpackEncoder.java:370) ~[http2-hpack-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2.hpack. HpackEncoder.encode( HpackEncoder.java:325) ~[http2-hpack-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2.hpack. HpackEncoder.encode( HpackEncoder.java:165) ~[http2-hpack-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. generator.HeadersGenerator. generateHeaders( HeadersGenerator.java:72) ~[http2-common-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. generator.HeadersGenerator. generate(HeadersGenerator. java:56) ~[http2-common-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. generator.Generator.control( Generator.java:80) ~[http2-common-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. HTTP2Session$ControlEntry. generate(HTTP2Session.java: 1122) ~[http2-common-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. HTTP2Flusher.process( HTTP2Flusher.java:231) ~[http2-common-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.util. IteratingCallback.processing( IteratingCallback.java:241) ~[jetty-util-9.3.13.v20161014. jar:9.3.13.v20161014]
    at org.eclipse.jetty.util. IteratingCallback.iterate( IteratingCallback.java:224) ~[jetty-util-9.3.13.v20161014. jar:9.3.13.v20161014]
    at org.eclipse.jetty.http2. HTTP2Session.newStream( HTTP2Session.java:496) ~[http2-common-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. client.http. HttpSenderOverHTTP2. sendHeaders( HttpSenderOverHTTP2.java:87) ~[http2-http-client-transport- 9.3.13.v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.client. HttpSender.send(HttpSender. java:204) ~[jetty-client-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. client.http. HttpChannelOverHTTP2.send( HttpChannelOverHTTP2.java:87) ~[http2-http-client-transport- 9.3.13.v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.client. HttpConnection.send( HttpConnection.java:207) ~[jetty-client-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. client.http. HttpConnectionOverHTTP2.send( HttpConnectionOverHTTP2.java: 64) ~[http2-http-client-transport- 9.3.13.v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. client.http. HttpDestinationOverHTTP2.send( HttpDestinationOverHTTP2.java: 37) ~[http2-http-client-transport- 9.3.13.v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.http2. client.http. HttpDestinationOverHTTP2.send( HttpDestinationOverHTTP2.java: 27) ~[http2-http-client-transport- 9.3.13.v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.client. MultiplexHttpDestination. process( MultiplexHttpDestination.java: 143) ~[jetty-client-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.client. MultiplexHttpDestination.send( MultiplexHttpDestination.java: 72) ~[jetty-client-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.client. HttpDestination.send( HttpDestination.java:202) ~[jetty-client-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.client. HttpClient.send(HttpClient. java:540) ~[jetty-client-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.client. HttpRequest.send(HttpRequest. java:693) ~[jetty-client-9.3.13. v20161014.jar:9.3.13. v20161014]
    at org.eclipse.jetty.client. HttpRequest.send(HttpRequest. java:677) ~[jetty-client-9.3.13. v20161014.jar:9.3.13. v20161014]
    

    9.3.14.v20161028 - AsynchronousCloseException

    Do you have any advice why my clients gets those GO_AWAY message leading to AsynchronousCloseException? This is the main issue. It doesn't happen all the time but still a substantial number of requests which prevents me from progressing with the production deployment.

    Maxim

    opened by sxam 59
  • Add systemd service file

    Add systemd service file

    jetty.sh looks broken if used under systemd.

    While starting jetty seems to work via sudo service jetty start, stopping it does not seem to work, via sudo service jetty stop.

    Also, systemd may need additional metadata to make jetty "known" to systemd so that systemd tools work with jetty too.

    opened by sbordet 56
  • Really bad performance when upgrade from Jetty 9.4.11 to Jetty 9.4.12

    Really bad performance when upgrade from Jetty 9.4.11 to Jetty 9.4.12

    We noticed a significant problem in increasing of memory usage of Jetty when we updated from Jetty 9.4.11 to Jetty 9.4.12. The benchmarking setup here is quite basic, a leader node receive update requests from client and distribute the update requests to another replica node using Http2Client which is setup as below

    HTTP2Client http2client = new HTTP2Client();
    transport = new HttpClientTransportOverHTTP2(http2client);
    httpClient = new HttpClient(transport, sslContextFactory);
    
    httpClient.setExecutor(new QueuedThreadPool(128, 4, 60000, new BlockingArrayQueue<>(128, 128)));
    httpClient.setStrictEventOrdering(false);
    httpClient.setConnectBlocking(true);
    httpClient.setFollowRedirects(false);
    httpClient.setMaxRequestsQueuedPerDestination(3000);
    httpClient.setUserAgentField(new HttpField(HttpHeader.USER_AGENT, AGENT));
    httpClient.setMaxConnectionsPerDestination(4);
    httpClient.setIdleTimeout(600000);
    httpClient.setConnectTimeout(60000);
    

    Here is the benchmark result when nodes run Jetty 9.4.11

    09:59:48 Time taken (total): 1397.6 sec
    09:59:48 Printing Stats for replica node
    09:59:48 	Time in Old Generation GC: 0.2 ms
    09:59:48 	Time in Young Generation GC: 29.0 ms
    09:59:48 	Time in JIT compilation: 107.1 ms
    09:59:48 	Garbage Generated in Old Generation: 4226.6 MiB
    09:59:48 	Garbage Generated in Young Generation: 496606.6 MiB
    09:59:48 	Garbage Generated in Survivor Generation: 9870.3 MiB
    09:59:48 	Peak memory usage in Old Generation: 1553.7 MiB
    09:59:48 	Peak memory usage in Young Generation: 682.8 MiB
    09:59:48 	Peak memory usage in Survivor Generation: 170.6 MiB
    09:59:48 	Average System Load: 10.288
    09:59:48 	Average CPU Time: 192.492/800
    09:59:48 	Average CPU Load: 24.542
    09:59:48 Printing Stats for leader node
    09:59:48 	Time in Old Generation GC: 0.8 ms
    09:59:48 	Time in Young Generation GC: 51.4 ms
    09:59:48 	Time in JIT compilation: 83.9 ms
    09:59:48 	Garbage Generated in Old Generation: 19462.2 MiB
    09:59:48 	Garbage Generated in Young Generation: 802795.1 MiB
    09:59:48 	Garbage Generated in Survivor Generation: 13183.9 MiB
    09:59:48 	Peak memory usage in Old Generation: 1581.0 MiB
    09:59:48 	Peak memory usage in Young Generation: 682.8 MiB
    09:59:48 	Peak memory usage in Survivor Generation: 170.6 MiB
    09:59:48 	Average System Load: 10.288
    09:59:48 	Average CPU Time: 443.473/800
    09:59:48 	Average CPU Load: 54.502
    09:59:48 
    

    Here is benchmark result when nodes run Jetty 9.4.12

    20:11:25 Time taken (total): 2236.1 sec
    20:11:25 Printing Stats for replica node
    20:11:25 	Time in Old Generation GC: 0.8 ms
    20:11:25 	Time in Young Generation GC: 75.9 ms
    20:11:25 	Time in JIT compilation: 97.2 ms
    20:11:25 	Garbage Generated in Old Generation: 14976.7 MiB
    20:11:25 	Garbage Generated in Young Generation: 1067270.1 MiB
    20:11:25 	Garbage Generated in Survivor Generation: 21313.5 MiB
    20:11:25 	Peak memory usage in Old Generation: 1562.7 MiB
    20:11:25 	Peak memory usage in Young Generation: 682.8 MiB
    20:11:25 	Peak memory usage in Survivor Generation: 170.6 MiB
    20:11:25 	Average System Load: 15.403
    20:11:25 	Average CPU Time: 320.363/800
    20:11:25 	Average CPU Load: 39.998
    20:11:25 Printing Stats for leader node
    20:11:25 	Time in Old Generation GC: 0.7 ms
    20:11:25 	Time in Young Generation GC: 68.6 ms
    20:11:25 	Time in JIT compilation: 95.7 ms
    20:11:25 	Garbage Generated in Old Generation: 18060.5 MiB
    20:11:25 	Garbage Generated in Young Generation: 1113447.8 MiB
    20:11:25 	Garbage Generated in Survivor Generation: 20980.7 MiB
    20:11:25 	Peak memory usage in Old Generation: 1562.0 MiB
    20:11:25 	Peak memory usage in Young Generation: 682.8 MiB
    20:11:25 	Peak memory usage in Survivor Generation: 170.6 MiB
    20:11:25 	Average System Load: 15.403
    20:11:25 	Average CPU Time: 310.151/800
    20:11:25 	Average CPU Load: 37.968
    20:11:25 
    

    As we can see here the time for complete the benchmark increased significantly after upgrade to Jetty 9.4.12 from 1397.6s to 2236.1s. One other point that seems interested here is the memory usage on the replica side (replica only response to the leader, it never query the leader) is almost doubled.

    More Info Required Performance 
    opened by CaoManhDat 53
  • Add Conscrypt for native ALPN/TLS/SSL

    Add Conscrypt for native ALPN/TLS/SSL

    migrated from Bugzilla #470848 status ASSIGNED severity enhancement in component http2 for 9.3.x Reported in version unspecified on platform All Assigned to: Greg Wilkins

    On 2015-06-23 17:47:12 -0400, Louis Ryan wrote:

    Full disclosure: I work on GRPC for Google and we have been using the ALPN/NPN bootclasspath mechanism for a while but are planning to switch to tcnative (specifically http://netty.io/wiki/forked-tomcat-native.html)

    This change is motivated by a number of factors:

    • Its proven hard to get client developers to properly set their bootclasspath based on their VM. It's been a pain with Maven and other harness-like environments too.
    • SSLEngine has poor performance for many of the ciphers mandated by HTTP2 E.g. (https://bugzilla.redhat.com/show_bug.cgi?id=1135504)
    • Our benchmarking has shown that a properly compiled pairing of tcnative and openssl outperforms SSLEngine on all ciphers.
    • We need to be able to support a transparent fallback from ALPN to NPN when talking to servers that are restricted to using OpenSSL 1.0.1 or earlier (all current releases of Debian and RedHat do not yet have 1.0.2 available on stable). NPN bootclasspath is not supported for JDK1.8 and you cant have both Jetty-ALPN and Jetty-NPN installed at the same time.

    Not sure if this is something you've looked into or talked about so I just wanted to make sure it was on your radar

    Cheers

    • Louis

    On 2016-01-26 14:57:03 -0500, Louis Ryan wrote:

    Just an update on work occurring in this area

    netty-tcnative now statically links boringssl and will likely soon also provide options for a statically linked libressl & openssl for linux/mac/windows

    https://github.com/netty/netty-tcnative/pull/89#issuecomment-174346457

    This should fix its remaining installation overheads (e.g. dependency on modern shared openssl to be present in the environment)

    This will also address Java7s lack of GCM ciphers (http2 required) and Java8s GCM performance issues which seem unlikely to be fixed until Java9.

    There's also some ongoing discussion about doing the same with Androids JCE/JSSE provider Conscrypt which is licensed under Apache 2.

    https://android.googlesource.com/platform/external/conscrypt/

    On 2016-01-27 15:12:25 -0500, Jesse McConnell wrote:

    Greg, circle up with me on this one!

    On 2016-02-03 06:24:56 -0500, Greg Wilkins wrote:

    We implemented Unix domain socket support for similar reasons. I did look at tcnative at the time but it was a little entangled.

    The forks linked in this issue look a lot more usable and the drop in replacement of ssl engine should make this almost trivial to integrate with most work going into the pom and modules.

    So worthwhile giving this a try in 9.4.

    Enhancement Help Wanted 
    opened by jmcc0nn3ll 52
  • Jetty 12 - Internalize jetty-client classes

    Jetty 12 - Internalize jetty-client classes

    Jetty version(s) 12+

    Enhancement Description Many other modules (server, websocket, etc.) have standardized using an internal package that is not JPMS publicly exported to hide implementation classes.

    Module jetty-client should do the same.

    Enhancement 
    opened by sbordet 0
  • Wrong value of `RequestDispatcher.FORWARD_CONTEXT_PATH` attribute on root context

    Wrong value of `RequestDispatcher.FORWARD_CONTEXT_PATH` attribute on root context

    • Fixes #9119 - uses proper context path that satisfies the root context rules of the servlet spec

    Signed-off-by: Joakim Erdfelt [email protected]

    Bug Specification 
    opened by joakime 0
  • Jetty 12 - Flaky BlockedWritesWithSmallThreadPoolTest.testServerThreadsBlockedInWrites()

    Jetty 12 - Flaky BlockedWritesWithSmallThreadPoolTest.testServerThreadsBlockedInWrites()

    Jetty version(s) 12+

    Description In Jetty 11, writes from a Handler via response.getOutputStream() are blocking, but internally that blocking call is converted into a non-blocking call typically via:

    try (Blocker blocker = _writeBlocker.acquire())
    {
        channelWrite(content, complete, blocker);
        blocker.block();
    }
    

    where blocker.invocationType==NON_BLOCKING.

    For large writes that TCP congest, this means that task SelectableChannelEndPoint._runCompleteWrite is non-blocking; in case all threads are taken, unblocking a write is possible because the task is non-blocking and will be run by the selector thread when it wakes up being write-ready.

    In Jetty 12, writes from a Handler receive a Callback whose invocationType depends on the HttpStream implementation. All of them do not override getInvocationType() so they are all blocking. This means that task SelectableChannelEndPoint._runCompleteWrite is blocking; in case all threads are taken the task will be queued, rather than executed by the selector thread, therefore locking up the server as it is the task that would have unblocked a write, but there are no threads to execute it.

    This is the reason of the flakyness of this test: sometimes there always is a thread that can run the completeWrite task, but in some cases there is not and the test fails.

    Bug 
    opened by sbordet 1
  • Jetty 12 : `org.eclipse.jetty.ee9.websocket.tests.WebSocketOverHTTP2Test.testWebSocketConnectPortDoesNotExist` failing

    Jetty 12 : `org.eclipse.jetty.ee9.websocket.tests.WebSocketOverHTTP2Test.testWebSocketConnectPortDoesNotExist` failing

    Jetty version(s) Jetty 12

    Java version/vendor (use: java -version) Java 19

    OS type/version Linux

    Description

    Error:

    Expected: an instance of java.net.ConnectException
         but: <java.io.IOException: frame_size_error/invalid_frame_length> is a java.io.IOException
    

    Stacktrace:

    java.lang.AssertionError: 
    Expected: an instance of java.net.ConnectException
         but: <java.io.IOException: frame_size_error/invalid_frame_length> is a java.io.IOException
    	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
    	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
    	at org.eclipse.jetty.ee9.websocket.tests.WebSocketOverHTTP2Test.testWebSocketConnectPortDoesNotExist(WebSocketOverHTTP2Test.java:256)
    

    Output:

    Running org.eclipse.jetty.ee9.websocket.tests.WebSocketOverHTTP2Test.testWebSocketConnectPortDoesNotExist()
    2023-01-02 21:48:32.631:INFO :oejs.Server:main: jetty-12.0.0-SNAPSHOT; built: 2023-01-02T20:54:23.235Z; git: 3498fe4e8134b70fb709e7e603daf87e1980f116; jvm 19+36-2238
    2023-01-02 21:48:32.633:INFO :oejsh.ContextHandler:main: Started oeje9n.ContextHandler$CoreContextHandler@3e05586b{ROOT,/,b=null,a=AVAILABLE,h=oeje9n.ContextHandler$CoreContextHandler$CoreToNestedHandler@35b17c06{STARTED}}
    2023-01-02 21:48:32.633:INFO :oejs.AbstractConnector:main: Started ServerConnector@343e225a{HTTP/1.1, (http/1.1, h2c)}{0.0.0.0:39111}
    2023-01-02 21:48:32.643:INFO :oejus.SslContextFactory:main: x509=X509@7e62cfa3(1,h=[localhost],a=[],w=[]) for Server@46e190ed[provider=null,keyStore=file:///home/jenkins/agent/workspace/jetty.project_PR-9118/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/target/test-classes/keystore.p12,trustStore=null]
    2023-01-02 21:48:32.649:INFO :oejs.AbstractConnector:main: Started ServerConnector@36f7d7b{SSL, (ssl, alpn, http/1.1, h2)}{0.0.0.0:46339}
    2023-01-02 21:48:32.649:INFO :oejs.Server:main: Started oejs.Server@17dad32f{STARTING}[12.0.0-SNAPSHOT,sto=0] @12934ms
    2023-01-02 21:48:32.651:WARN :oejusS.config:main: Trusting all certificates configured for Client@37348491[provider=null,keyStore=null,trustStore=null]
    2023-01-02 21:48:32.651:WARN :oejusS.config:main: No Client EndPointIdentificationAlgorithm configured for Client@37348491[provider=null,keyStore=null,trustStore=null]
    2023-01-02 21:48:32.657:INFO :oejs.Server:main: Stopped oejs.Server@17dad32f{STOPPING}[12.0.0-SNAPSHOT,sto=0]
    2023-01-02 21:48:32.657:INFO :oejs.AbstractConnector:main: Stopped ServerConnector@343e225a{HTTP/1.1, (http/1.1, h2c)}{0.0.0.0:0}
    2023-01-02 21:48:32.658:INFO :oejs.AbstractConnector:main: Stopped ServerConnector@36f7d7b{SSL, (ssl, alpn, http/1.1, h2)}{0.0.0.0:0}
    2023-01-02 21:48:32.658:INFO :oejewc.WebSocketClient:main: Shutdown WebSocketClient@cca2a347[coreClient=oejwcc.WebSocketCoreClient@4dac121d{STARTED},openSessions.size=0]
    
    Test Jetty 12 flaky-test 
    opened by joakime 0
  • Wrong value of javax.servlet.forward.context_path attribute

    Wrong value of javax.servlet.forward.context_path attribute

    Jetty version(s) 10.0.13

    Java version/vendor (use: java -version) 11.0.7

    OS type/version Linux/Fedora 37

    Description I work on Pax Web project and it unifies 3 embedded web servers (Jetty, Tomcat and Undertow) in OSGi runtime. I try hard to make the tests consistent and ensure similar behavior between the runtimes.

    According to Chapter 9.4.2 Forwarded Request Parameters of the Servlets 4 specification:

    The following request attributes must be set: javax.servlet.forward.mapping javax.servlet.forward.request_uri javax.servlet.forward.context_path javax.servlet.forward.servlet_path javax.servlet.forward.path_info javax.servlet.forward.query_string The values of these attributes must be equal to the return values of the HttpServletRequest methods getRequestURI, getContextPath, getServletPath, getPathInfo, getQueryString respectively, invoked on the request object passed to the first servlet object in the call chain that received the request from the client.

    When using Jetty 9.4.50, I see correct (in org.eclipse.jetty.server.Dispatcher#forward()):

    final String old_context_path = baseRequest.getContextPath();
    ...
    ForwardAttributes attr = new ForwardAttributes(old_attr);
    ...
    attr._contextPath = old_context_path;
    

    However in Jetty 10, it's:

    if (old_attr.getAttribute(FORWARD_REQUEST_URI) == null)
        baseRequest.setAttributes(new ForwardAttributes(old_attr,
            old_uri.getPath(),
            old_context == null ? null : old_context.getContextHandler().getContextPathEncoded(),
            baseRequest.getPathInContext(),
            source_mapping,
            old_uri.getQuery()));
    

    And the forwarded context path is "/" instead of "" (empty string).

    How to reproduce?

    I have a "/gateway/*" mapped servlet with:

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	String what = req.getParameter("what");
    	String where = req.getParameter("where");
    	switch (what) {
    		case "redirect":
    			resp.sendRedirect(where);
    			return;
    		case "forward":
    			// we can't send anything when forwarding
    			req.getRequestDispatcher(where).forward(req, resp);
    			return;
    		case "include":
    			resp.getWriter().print(">>>");
    			req.getRequestDispatcher(where).include(req, resp);
    			resp.getWriter().print("<<<");
    			return;
    		default:
    	}
    }
    

    And I call it with this URI:

    "/gateway/x?what=forward&where=/"
    

    The test is https://github.com/ops4j/org.ops4j.pax.web/blob/web-9.0.4/pax-web-jetty/src/test/java/org/ops4j/pax/web/service/jetty/internal/UnifiedJettyTest.java#L505-L516

    Bug Specification 
    opened by grgrzybek 3
  • "resource:" URL scheme not supported (needed for GraalVM)

    Jetty version(s) 12.0.0.alpha3

    Java version/vendor (use: java -version) openjdk version "19.0.1" 2022-10-18 OpenJDK Runtime Environment GraalVM CE 22.3.0 (build 19.0.1+10-jvmci-22.3-b08) OpenJDK 64-Bit Server VM GraalVM CE 22.3.0 (build 19.0.1+10-jvmci-22.3-b08, mixed mode, sharing)

    OS type/version macOS

    Description When using Resources from the resource class path, GraalVM turns them into URLs of the abstract "resource:" scheme (e.g., resource:/com/example/server/webapp/). This resource scheme appears to be currently unsupported by Jetty:

    java.lang.IllegalArgumentException: URI scheme not supported: resource:/com/example/server/webapp/
    	at org.eclipse.jetty.util.resource.ResourceFactoryInternals$CompositeResourceFactory.newResource(ResourceFactoryInternals.java:145)
    	at org.eclipse.jetty.util.resource.ResourceFactory.newResource(ResourceFactory.java:229)
    

    How to reproduce?

    Place a file named "test.txt" in the resource class path relative to some class (e.g., foo.bar.SomeClass -> src/main/resources/foo/bar/test.txt). Build GraalVM native image.

    Compare the output of

    Resource res = ResourceFactory.root().newResource(SomeClass.class.getResource("test.txt"));
    System.out.println(res);    
    

    between Hotspot and native-image.

    With Hotspot, the URL will be something like jar:file:///path/to/classpath.jar!/foo/bar/test.txt or file:///path/to/resource/foo/bar/test.txt).

    With GraalVM native-image, it's resource:/foo/bar/test.txt.

    Note that this also means that tricks to enumerate/list the contents of a resource directory (by traversing the file hierarchy or jar archive) will fail.

    Bug 
    opened by kohlschuetter 5
Releases(jetty-11.0.13)
  • jetty-11.0.13(Dec 9, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @janvojt (Jan Vojt)
    • @joschi (Jochen Schalanda)
    • @leonchen83 (Baoyi Chen)
    • @cowwoc (Gili Tzabari)
    • @Vlatombe (Vincent Latombe)

    Changelog

    • #9006 - WebSocket Message InputStream read() returns signed byte
    • #8913 - Review Jetty XML syntax to allow calling JDK methods
    • #8905 - GzipHandler fails to set Vary header on 304 responses
    • #8900 - Improved documentation about virtual threads.
    • #8897 - Update Conditional request handling for RFC7232
    • #8895 - Generate downloadable version of javadocs documentation in website deploy script
    • #8863 - Provide a possibility to name virtual threads
    • #8810 - ArrayRetainableByteBufferPool inefficiently calculates bucket indices
    • #8786 - KeyStoreScanner is not able to monitor a symlink file and always resolves to the target.
    • #8779 - CompactPathRule drops query section on use
    • #8770 - Review whether to send request body in redirects
    • #8753 - Starting HttpClient with destinationIdleTimeout set throws NPE. (@janvojt)
    • #8750 - AbstractProxyServlet.onServerResponseHeaders does not support headers with empty values
    • #8743 - Add log.isDebugEnabled() to reduce string allocation (@leonchen83)
    • #8721 - jetty:effective-web-xml doesn't generate quickstart information for web fragment jars that contain META-INF/resources
    • #8716 - Multiple Host header values handled poorly
    • #8712 - ELContextCleaner no longer needed.
    • #8688 - Fix traversal bug on extraction of bad jar/zip files during jetty-start
    • #8682 - expand jetty properties when generating dry-run command line
    • #8678 - Jetty client is not responding to GO_AWAY packet received from (Jetty) Server and continue to send traffic on same connection
    • #8628 - Pseudo restore PathMappings.getMatch(String) for backwards compat reasons
    • #8623 - Use AutoLock in InputStreamResponseListener
    • #8600 - Allow to pass instances of ClientConfig and Config to Hazelcast data store factory (@Vlatombe)
    • #8591 - Indicate units of HttpClient properties (@cowwoc)
    • #8558 - Idle timeout occured sometimes on HTTP/2 client with InputStreamResponseListener
    • #8536 - HotSwapHandler race condition
    • #8473 - add getter for the WebSocketUpgradeHandler configuration
    • #8460 - Log or throw exception if DefaultSessionIdManager is used but has not been started.
    • #8330 - Persistent OpenId sessions can throw IllegalStateException
    • #7993 - HttpClient idleTimeout configuration being ignored/overridden
    • #7286 - WebSocket write can time out even if the frame / callback has not been failed.
    • #7117 - Timeout with Expect 100 continue when using ProxyServlet

    Dependencies

    • #8794 - Bump asm.version to 9.4
    • #8799 - Bump commons-compress to 1.22
    • #8656 - Bump google-cloud-datastore to 2.11.4
    • #8673 - Bump grpc-core to 1.49.2
    • #8638 - Bump hawtio-default to 2.15.2
    • #8985 - Bump httpcore to 4.4.16
    • #8664 - Bump infinispan-bom to 11.0.16.Final
    • #8796 - Bump jboss-logmanager to 2.1.19.Final
    • #8952 - Bump jnr-constants to 0.10.4
    • #8605 - Bump log4j2 to 2.19.0
    • #8798 - Bump logback-core to 1.4.4
    • #8658 - Bump mariadb-java-client to 3.0.8
    • #8640 - Bump org.eclipse.osgi to 3.18.100
    • #8642 - Bump org.eclipse.osgi.services to 3.11.0
    • #8662 - Bump org.eclipse.osgi.util to 3.7.100
    • #8655 - Bump protostream to 4.5.0.Final
    • #8603 - Bump slf4j to version 2.0.5 (@joschi)
    • #8652 - Bump tycho-p2-repository-plugin to 3.0.0
    • #8637 - Bump wildfly-elytron to 2.0.0.Final
    Source code(tar.gz)
    Source code(zip)
  • jetty-10.0.13(Dec 9, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @janvojt (Jan Vojt)
    • @joschi (Jochen Schalanda)
    • @leonchen83 (Baoyi Chen)
    • @cowwoc (Gili Tzabari)
    • @Vlatombe (Vincent Latombe)

    Changelog

    • #9006 - WebSocket Message InputStream read() returns signed byte
    • #8913 - Review Jetty XML syntax to allow calling JDK methods
    • #8905 - GzipHandler fails to set Vary header on 304 responses
    • #8900 - Improved documentation about virtual threads.
    • #8897 - Update Conditional request handling for RFC7232
    • #8895 - Generate downloadable version of javadocs documentation in website deploy script
    • #8863 - Provide a possibility to name virtual threads
    • #8810 - ArrayRetainableByteBufferPool inefficiently calculates bucket indices
    • #8786 - KeyStoreScanner is not able to monitor a symlink file and always resolves to the target.
    • #8779 - CompactPathRule drops query section on use
    • #8770 - Review whether to send request body in redirects
    • #8753 - Starting HttpClient with destinationIdleTimeout set throws NPE. (@janvojt)
    • #8750 - AbstractProxyServlet.onServerResponseHeaders does not support headers with empty values
    • #8743 - Add log.isDebugEnabled() to reduce string allocation (@leonchen83)
    • #8721 - jetty:effective-web-xml doesn't generate quickstart information for web fragment jars that contain META-INF/resources
    • #8716 - Multiple Host header values handled poorly
    • #8712 - ELContextCleaner no longer needed.
    • #8688 - Fix traversal bug on extraction of bad jar/zip files during jetty-start
    • #8682 - expand jetty properties when generating dry-run command line
    • #8678 - Jetty client is not responding to GO_AWAY packet received from (Jetty) Server and continue to send traffic on same connection
    • #8628 - Pseudo restore PathMappings.getMatch(String) for backwards compat reasons
    • #8623 - Use AutoLock in InputStreamResponseListener
    • #8600 - Allow to pass instances of ClientConfig and Config to Hazelcast data store factory (@Vlatombe)
    • #8591 - Indicate units of HttpClient properties (@cowwoc)
    • #8558 - Idle timeout occured sometimes on HTTP/2 client with InputStreamResponseListener
    • #8536 - HotSwapHandler race condition
    • #8473 - add getter for the WebSocketUpgradeHandler configuration
    • #8460 - Log or throw exception if DefaultSessionIdManager is used but has not been started.
    • #8330 - Persistent OpenId sessions can throw IllegalStateException
    • #7993 - HttpClient idleTimeout configuration being ignored/overridden
    • #7286 - WebSocket write can time out even if the frame / callback has not been failed.
    • #7117 - Timeout with Expect 100 continue when using ProxyServlet

    Dependencies

    • #8794 - Bump asm.version to 9.4
    • #8799 - Bump commons-compress to 1.22
    • #8656 - Bump google-cloud-datastore to 2.11.4
    • #8673 - Bump grpc-core to 1.49.2
    • #8638 - Bump hawtio-default to 2.15.2
    • #8985 - Bump httpcore to 4.4.16
    • #8664 - Bump infinispan-bom to 11.0.16.Final
    • #8796 - Bump jboss-logmanager to 2.1.19.Final
    • #8952 - Bump jnr-constants to 0.10.4
    • #8605 - Bump log4j2 to 2.19.0
    • #8942 - Downgrade Logback to 1.3.5 for Jetty 10.0.x
    • #8603 - Bump slf4j to 2.0.5 (@joschi)
    • #8658 - Bump mariadb-java-client to 3.0.8
    • #8640 - Bump org.eclipse.osgi to 3.18.100
    • #8642 - Bump org.eclipse.osgi.services to 3.11.0
    • #8662 - Bump org.eclipse.osgi.util to 3.7.100
    • #8655 - Bump protostream to 4.5.0.Final
    • #8637 - Bump wildfly-elytron to 2.0.0.Final
    Source code(tar.gz)
    Source code(zip)
  • jetty-12.0.0.alpha3(Dec 9, 2022)

    Changelog

    • #9007 - Improved locking for HttpReceiver.ContentSource.
    • #8999 - Overuse of FileID.isArchive() and inability to deal with packed jars without .jar extension
    • #8998 - Cleanup of TypeUtil and ContextHandler stop/start
    • #8980 - jetty-12.0.x WebappClassloader addJars(Resource) incorrectly transforms into a CombinedResource
    • #8975 - Jetty 12 - rename getBaseResponse() to getServletContextResponse()
    • #8940 - Converted writeTrailers to a static method
    • #8935 - Re-enable DefaultServletRangesTest and fix byte ranges for ee10
    • #8934 - Jetty-12 Rewrite RuleProcessor
    • #8933 - Mutable server MimeTypes
    • #8928 - Cleanup ContextHandler
    • #8927 - Jetty 12 - Fix GzipHandler handling of chunked and Content-Length
    • #8923 - Update FileID.getExtension() behaviors to match new JDK 20 Path.getExtension() behaviors
    • #8921 - Normalization of resources incorrect for quickstart in jetty-12
    • #8919 - Jetty 12 mimetype cleanup
    • #8914 - Add debug logging to SerializedInvoker
    • #8909 - Jetty 12 recycle servlet channel
    • #8893 - Re-enable and fix StatisticsServletTest for ee9
    • #8890 - use modify-sources-plugin release version 1.0.2
    • #8886 - Changes to Resource no longer support custom url schemes.
    • #8861 - Jetty 12 - General cleanup of URIUtil
    • #8858 - Jetty 12 - Review MovedContextHandler
    • #8789 - Jetty 12 - use JVM provided null OutputStream
    • #8781 - Jetty 12 - Alternate TryPathsHandler based on Request.Processor existence
    • #8771 - Jetty 12 - Fix demo-ee10 LikeJettyXml (and testcase)
    • #8767 - Refactor and improvements to HttpContent Factories
    • #8762 - Experiment with lock free AdaptiveExecutionStrategy
    • #8760 - Restored server push functionality.
    • #8749 - Jetty 12 - request.getContext().getContextPath() should return full context, not just last one
    • #8748 - Jetty 12 - Introduce PathMappingsHandler
    • #8744 - jetty-12: Update to jasper 10.1.1
    • #8742 - Re-enable and fix websocket tests for Jetty 12 ee9 and ee10
    • #8741 - Jetty 12 - Remove start slash cleanup from resolve(String)
    • #8735 - ResourceHandler set base resource as string
    • #8734 - Jetty 12 - Simplification of aliases in PathResource (Take 2)
    • #8726 - Jetty 12 - Improve ErrorProcessor to handle error pages
    • #8725 - Make Client's Request and Response abort() fully async
    • #8722 - Jetty 12 - Re-enabled distribution tests that were disabled.
    • #8714 - Jetty 12 - Re-enable some disabled session tests.
    • #8711 - ResourceCollection should not have a path
    • #8702 - Jetty 12 - Resource resolve() and newResource() return null on resources that do not exist
    Source code(tar.gz)
    Source code(zip)
  • jetty-9.4.50.v20221201(Dec 8, 2022)

    Sponsored Release

    This is a release of the End of Community Support Jetty 9.x series that was sponsored by a support contract from Webtide.com

    Changelog

    • #8774 - Added SizeLimitHandler
    • #8678 - Jetty client is not responding to GO_AWAY packet received from (Jetty) Server and continue to send traffic on same connection

    Dependencies

    • #8826 - Bump infinispan to 11.0.16.Final
    • #8847 - Bump jboss-logmanager to 2.1.19.Final
    • #8849 - Bump jboss-threads to 3.5.0.Final
    • #8961 - Bump jnr-constants to 0.10.4
    • #8951 - Bump protostream to 4.4.4.Final
    • #8989 - Bump spring-beans to 5.3.24
    • #8949 - Bump testcontainers to 1.17.6
    • #8828 - Bump wildfly-elytron to 2.0.0.Final
    Source code(tar.gz)
    Source code(zip)
  • jetty-12.0.0.alpha2(Oct 18, 2022)

    Changelog

    • #8718 - Moved FastCGIProxyServlet in ee9 to FastCGIProxyHandler in core.
    • #8708 - unwrap exception until we get the first non ServletException, as this can be wrap of wrap of wrap when using ContextHandlerCollection cherry-pick of #7803
    • #8705 - Jetty 12 - Re-enabled RequestLog tests.
    • #8703 - fix ee8-websocket-javax.mod file for jetty 12
    • #8701 - Forward port of PR #7778 to jetty-12.0.x.
    • #8692 - Jetty 12 - Remove deprecated methods from QoSFilter
    • #8691 - Jetty 12 - Fix typo "octect" -> "octet"
    • #8689 - Fix jaas demos
    • #8686 - move flatten mojo configuration in top pom, fix boms and remove non needed content
    • #8685 - [Jetty 12] Made WebSocket over HTTP/2 work.
    • #8630 - Jetty 12 - Restrict ResourceCollection to only hold directory entries
    • #8626 - Renamed ServletContextRequest.getBaseRequest() to getServletContextRequest()
    • #8625 - Fixes the case where HTTP/2 readData() was returning EOF
    • #8621 - Fix Caching ContentFactories in Jetty-12
    • #8620 - Introduced [Callback|Promise]Completable.with(Consumer) to simplify u…
    • #8615 - Restored interim responses functionality (100 Continue, 102 Processing, 103 Early Hints)
    • #8614 - Jetty 12 : QuickStart generation based on Path, usage based on Resource
    • #8611 - Jetty 12 : Descriptor cleanup
    • #8610 - Jetty 12 : ResourceFactory.of(WebAppContext) to WebAppContext.getResourceFactory()
    • #8609 - Jetty 12 : XmlAppendable use Charset, not String
    • #8606 - Jetty 12: restore scope listeners functionality
    • #8602 - Jetty 12 - Improving URIUtil.addPathQuery behavior + adding tests
    • #8598 - Complete TODO to fix WebSocket RemoteEndpoint API in Jetty 12
    • #8595 - Jetty 12 : precompressed content support for ResourceService
    • #8589 - Jetty 12 - Improve FileID and use where appropriate
    • #8573 - Jetty 12 - Delay Resource Alias calculation until it's requested/needed
    • #8471 - Jetty 12 : ResourceListing produces XHTML (and is validated in test cases)
    • #8448 - incomplete Blocking.Callback and write errors
    • #7891 - Better Servlet PathMappings for Regex
    Source code(tar.gz)
    Source code(zip)
  • jetty-12.0.0.alpha1(Sep 15, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @MoonLord-LM (MoonLord-LM)

    Changelog

    • #8548 - Fix the StatisticsServlet for Jetty-12 EE10
    • #8547 - re-enabling and fixing some tests for Jetty-12
    • #8540 - Maven pom is not correct for org.eclipse.jetty/infinispan-embedded and org.eclipse.jetty/infinispan-remote (@MoonLord-LM)
    • #8491 - jetty 12.0.x error unwrap servlet exception
    • #8490 - add module configuration for demo handler
    • #8474 - Jetty 12 : Resource API Review
    • #8436 - Jetty 12 : More testing for Resource alias
    Source code(tar.gz)
    Source code(zip)
  • jetty-9.4.49.v20220914(Sep 15, 2022)

    End of Life Notice

    • https://github.com/eclipse/jetty.project/issues/7958 - Jetty 9.4.x is now at End of Community Support. (See issue for details)

    Changelog

    • #8578 - getRequestURL can append "null" if getRequestURI is unspecified in an authority-form request-target
    • #8493 - Review HTTP client feature setRemoveIdleDestinations

    Dependencies

    • #8253 - Bump google-cloud-datastore to 2.9.1
    • #8233 - Bump jna to 5.12.1
    • #8242 - Bump mariadb-java-client to 3.0.6
    • #8238 - Bump maven-enforcer-plugin to 3.1.0
    • #8230 - Bump maven.version to 3.8.6
    • #8246 - Bump org.eclipse.osgi to 3.18.0
    • #8245 - Bump testcontainers.version to 1.17.3
    Source code(tar.gz)
    Source code(zip)
  • jetty-11.0.12(Sep 15, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @MoonLord-LM (MoonLord-LM)

    Changelog

    • #8497 - jetty-bom/11.0.11 depends on jetty-slf4j-impl/10.0.8-SNAPSHOT that cause 404 error (@MoonLord-LM)

    Dependencies

    • #8389 - Bump avro to 1.11.1
    • #8239 - Bump checkstyle to 10.3.1
    • #8300 - Bump google-cloud-datastore to 2.10.1
    • #8508 - Bump grpc-core to 1.49.0
    • #8249 - Bump jakarta.annotation-api to 2.1.1
    • #8506 - Bump jboss-threads to 3.5.0.Final
    • #8254 - Bump jna-jpms to 5.12.1
    • #8529 - Bump mariadb-java-client to 3.0.7
    • #8371 - Bump maven-assembly-plugin to 3.4.2
    • #8520 - Bump maven-checkstyle-plugin to 3.2.0
    • #8248 - Bump maven-enforcer-plugin to 3.1.0
    • #8377 - Bump maven-install-plugin to 3.0.1
    • #8528 - Bump maven-javadoc-plugin to 3.4.1
    • #8368 - Bump maven-resources-plugin to 3.3.0
    • #8244 - Bump maven.version to 3.8.6
    • #8308 - Bump spotbugs-maven-plugin to 4.7.1.0
    • #8309 - Bump tycho-p2-repository-plugin to 2.7.4
    • #8369 - Bump wildfly-elytron to 1.20.0.Final
    Source code(tar.gz)
    Source code(zip)
  • jetty-10.0.12(Sep 15, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @MoonLord-LM (MoonLord-LM)
    • @keller-j (keller-j)
    • @mwgmnn (Michael Weigmann)
    • @cstamas (Tamas Cservenak)
    • @fanf (François Armand)

    Changelog

    • #8578 - getRequestURL can append "null" if getRequestURI is unspecified in an authority-form request-target
    • #8554 - remove infinispan-remote from bom as it doesn't have to be here
    • #8540 - Maven pom is not correct for org.eclipse.jetty/infinispan-embedded and org.eclipse.jetty/infinispan-remote (@MoonLord-LM)
    • #8532 - Review System.nanoTime() usages
    • #8485 - add testing for KeystoreGenerator
    • #8468 - define the resourceBase in well-known ContextHandler to allow alias checking
    • #8433 - improve performance of alias checking
    • #8353 - Automatic pongs should not be sent when connection is closed
    • #8294 - java.lang.ClassCastException: class org.eclipse.jetty.http.HttpField cannot be cast to class org.eclipse.jetty.http.HttpCookie$SetCookieHttpField
    • #8264 - Fix errors in Mapped pool and javadoc
    • #8259 - Symlinks cause 404 with DefaultServlet when its "resourceBase" is different from ContextHandler's
    • #8222 - Jetty start.jar fails with NullPointerException when referencing a non existent module and using JVM args
    • #8216 - OpenID logout / more extensibible OpenIdConfiguration (@keller-j)
    • #8206 - Stopping server from within AbstractConnector#accept fails and results in a partially stopped QueuedThreadPool
    • #8196 - Remove unused jetty-plus.xml file
    • #8182 - Drop MAT (@cstamas)
    • #8171 - Combined ByteBufferPool
    • #8170 - WebSockets closed abruptly when using HTTP/2
    • #8152 - jetty.sh does not read JAVA_OPTIONS anymore (@fanf)
    • #8151 - JakartaWebSocketSession.close() blocks long time when called from SendHandlerCallback
    • #8007 - Support Loom
    • #8006 - Use getSchemaTableName also in the create table statement (@mwgmnn)
    • #7970 - Maven Plugin - the option to set extraClasspath in the plugin configuration isn't working

    Dependencies

    • #8503 - Bump apache.directory.api.version to 2.1.2
    • #8383 - Bump asciidoctorj to 2.5.5
    • #8387 - Bump avro to 1.11.1
    • #8513 - Bump checkstyle to 10.3.3
    • #8507 - Bump error_prone_annotations to 2.15.0
    • #8367 - Bump exec-maven-plugin to 3.1.0
    • #8515 - Bump flatten-maven-plugin to 1.3.0
    • #8237 - Bump google-cloud-datastore to 2.9.1
    • #8505 - Bump grpc-core to 1.49.0
    • #8373 - Bump gson to 2.9.1
    • #8363 - Bump h2spec-maven-plugin to 1.0.10
    • #8561 - Bump hawtio-default to 2.15.1
    • #8570 - Bump jackson-annotations to 2.13.4
    • #8572 - Bump jackson-core to 2.13.4
    • #8569 - Bump jackson-databind to 2.13.4
    • #8130 - Bump jaxb-runtime to 2.3.6
    • #8502 - Bump jboss-threads to 3.5.0.Final
    • #8229 - Bump jna-jpms to 5.12.1
    • #8380 - Bump junit.version to 5.9.0
    • #8302 - Bump log4j-api to 2.18.0
    • #8511 - Bump logback-core to 1.4.0
    • #8516 - Bump mariadb-java-client to 3.0.7
    • #8365 - Bump maven-assembly-plugin to 3.4.2
    • #8378 - Bump maven-bundle-plugin to 5.1.8
    • #8522 - Bump maven-checkstyle-plugin to 3.2.0
    • #8374 - Bump maven-deploy-plugin to 3.0.0
    • #8243 - Bump maven-enforcer-plugin to 3.1.0
    • #8375 - Bump maven-install-plugin to 3.0.1
    • #8509 - Bump maven-javadoc-plugin to 3.4.1
    • #8501 - Bump maven-jxr-plugin to 3.3.0
    • #8366 - Bump maven-remote-resources-plugin to 3.0.0
    • #8364 - Bump maven-resources-plugin to 3.3.0
    • #8362 - Bump maven.resolver.version to 1.8.2
    • #8231 - Bump maven.version to 3.8.6
    • #8236 - Bump org.eclipse.osgi to 3.18.0
    • #8247 - Bump org.eclipse.osgi.util to 3.7.1
    • #8519 - Bump protostream to 4.4.4.Final
    • #8467 - Bump slf4j to 2.0.0-beta1 and logback to 1.3.0-beta0
    • #8562 - Bump spotbugs-maven-plugin to 4.7.2.0
    • #8234 - Bump testcontainers-bom to 1.17.3
    • #8568 - Bump tycho-p2-repository-plugin to 2.7.5
    • #8566 - Bump versions-maven-plugin to 2.12.0
    • #8504 - Bump wildfly-elytron to 1.20.1.Final
    • #8482 - use slf4j 2.0.0
    Source code(tar.gz)
    Source code(zip)
  • jetty-12.0.0.alpha0(Aug 23, 2022)

  • jetty-9.4.48.v20220622(Jun 22, 2022)

    End of Life Notice

    • https://github.com/eclipse/jetty.project/issues/7958 - Jetty 9.4.x is now at End of Community Support. (See issue for details)

    Critical Fix

    • #8184 - All suffix globs except first fail to match if path has . character in prefix section
    Source code(tar.gz)
    Source code(zip)
  • jetty-11.0.11(Jun 22, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @cstamas (Tamas Cservenak)

    Critical Fix

    • #8184 - All suffix globs except first fail to match if path has . character in prefix section

    Changelog

    • #8187 - Fix test-distribution classpath re resolver (@cstamas)
    • #8175 - Removing invalid maxConnections references
    • #8163 - RegexPathSpec documentation and MatchedPath improvements
    • #8162 - Migrate code from jetty-util Logger to slf4j Logger
    • #8161 - Improve SSLConnection buffers handling
    • #8155 - Use static exceptions for closing websocket flushers and in ContentProducer
    Source code(tar.gz)
    Source code(zip)
  • jetty-10.0.11(Jun 22, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @cstamas (Tamas Cservenak)

    Critical Fix

    • #8184 - All suffix globs except first fail to match if path has . character in prefix section

    Changelog

    • #8187 - Fix test-distribution classpath re resolver (@cstamas)
    • #8175 - Removing invalid maxConnections references
    • #8163 - RegexPathSpec documentation and MatchedPath improvements
    • #8162 - Migrate code from jetty-util Logger to slf4j Logger
    • #8161 - Improve SSLConnection buffers handling
    • #8155 - Use static exceptions for closing websocket flushers and in ContentProducer
    Source code(tar.gz)
    Source code(zip)
  • jetty-11.0.10(Jun 20, 2022)

    Fixed Security Advisories

    • (CVE-2022-2047) - https://github.com/eclipse/jetty.project/security/advisories/GHSA-cj7v-27pg-wf7q - Invalid URI parsing may produce invalid HttpURI.authority
    • (CVE-2022-2048) - https://github.com/eclipse/jetty.project/security/advisories/GHSA-wgmr-mf83-7x4j - Invalid HTTP/2 requests can lead to denial of service
    • (CVE-2022-2191) - https://github.com/eclipse/jetty.project/security/advisories/GHSA-8mpp-f3f7-xc28 - SslConnection does not release pooled ByteBuffers in case of errors

    Special Thanks to the following Eclipse Jetty community members

    • @jianglai (Lai Jiang)
    • @markslater (markslater)
    • @prenagha (Padraic Renaghan)

    Changelog

    • #8161 - Improve SSLConnection buffers handling (Resolves CVE-2022-2191)
    • #8134 - Improve cleanup of deflater/inflater pools for PerMessageDeflateExtension
    • #8088 - Add option to configure exitVm on ShutdownMonitor from System properties
    • #8067 - Wall time usage in DoSFilter RateTracker results in false positive alert
    • #8057 - Support Http Response 103 (Early Hints)
    • #8014 - Review HttpRequest URI construction (Resolves CVE-2022-2047)
    • #8008 - Add compliance mode for LEGACY multipart parser in Jetty
    • #7994 - Ability to construct a detached client Request
    • #7991 - fix bom for jetty-cdi
    • #7981 - Add TRANSFER_ENCODING violation for MultiPart RFC7578 parser.
    • #7977 - UpgradeHttpServletRequest.setAttribute & UpgradeHttpServletRequest.removeAttribute can throw NullPointerException
    • #7975 - ForwardedRequestCustomizer setters do not clear existing handlers
    • #7953 - Fix StatisticsHandler in the case a Handler throws exception.
    • #7935 - Review HTTP/2 error handling (Resolves CVE-2022-2048)
    • #7929 - Correct requestlog formatString commented default (@prenagha)
    • #7924 - Fix a typo in Javadoc (@jianglai)
    • #7918 - PathMappings.asPathSpec does not allow root ServletPathSpec
    • #7891 - Better Servlet PathMappings for Regex
    • #7880 - DefaultServlet should not overwrite programmatically configured precompressed formats with defaults (@markslater)
    • #7863 - Default servlet drops first accept-encoding header if there is more than one. (@markslater)
    • #7858 - GZipHandler does not play nice with other handlers in HandlerCollection
    • #7818 - Modifying of HTTP headers in HttpChannel.Listener#onResponseBegin is no longer possible with Jetty
    • #7803 - unwrap exception until we get the first non ServletException, as this can be wrap of wrap of wrap when using ContextHandlerCollection
    • #7802 - HTTP/3 QPACK - do not expect section ack for zero required insert count
    • #7754 - jetty.sh ignores JAVA_OPTIONS environment variable
    • #7748 - Allow overriding of url-pattern mapping in ServletContextHandler to allow for regex or uri-template matching
    • #7635 - QPACK decoder should fail connection if the encoder blocks more than SETTINGS_QPACK_BLOCKED_STREAMS
    • #4414 - GZipHandler not excluding inflation for specified paths
    • #1771 - Add module for SecuredRedirect support

    Dependencies

    • #8083 - Bump asciidoctorj to 2.5.4
    • #8077 - Bump asciidoctorj-diagram to 2.2.3
    • #7839 - Bump asm.version to 9.3
    • #8142 - Bump biz.aQute.bndlib to 6.3.1
    • #8075 - Bump checkstyle to 10.3
    • #8056 - Bump error_prone_annotations to 2.14.0
    • #8109 - Bump google-cloud-datastore to 2.7.0
    • #8100 - Bump grpc-core to 1.47.0
    • #7987 - Bump hawtio-default to 2.15.0
    • #7934 - Bump hazelcast.version to 4.2.5
    • #8003 - Bump jackson-annotations to 2.13.3
    • #8004 - Bump jackson-core to 2.13.3
    • #7997 - Bump jackson-databind to 2.13.3
    • #7849 - Bump jacoco-maven-plugin to 0.8.8
    • #7830 - Bump jakarta.annotation-api to 2.1.0
    • #7913 - Bump jakarta.ws.rs-api to 3.1.0
    • #7937 - Bump jboss-logging to 3.5.0.Final
    • #7815 - Bump jnr-ffi to 2.2.12
    • #7967 - Bump kerb-simplekdc to 2.0.2
    • #8029 - Bump logback-core to 1.3.0-alpha16
    • #8064 - Bump mariadb-java-client to 3.0.5
    • #7908 - Bump maven-antrun-plugin to 3.1.0
    • #8001 - Bump maven-bundle-plugin to 5.1.6
    • #7843 - Bump maven-clean-plugin to 3.2.0
    • #8080 - Bump maven-invoker-plugin to 3.3.0
    • #7902 - Bump maven-javadoc-plugin to 3.4.0
    • #8079 - Bump maven-scm-provider-jgit to 1.13.0
    • #7904 - Bump maven-site-plugin to 3.12.0
    • #7900 - Bump maven.resolver.version to 1.8.0
    • #7915 - Bump mongo-java-driver to 3.12.11
    • #8108 - Bump openwebbeans.version to 2.0.27
    • #7877 - Bump org.apache.aries.spifly.dynamic.bundle to 1.3.5
    • #8123 - Bump org.apache.felix.framework to 7.0.5
    • #8019 - Bump plexus-utils to 3.4.2
    • #7944 - Bump protostream to 4.4.3.Final
    • #8030 - Bump spotbugs-maven-plugin to 4.7.0.0
    • #8031 - Bump testcontainers-bom to 1.17.2
    • #7972 - Bump tycho-p2-repository-plugin to 2.7.3
    • #8038 - Bump versions-maven-plugin to 2.11.0
    Source code(tar.gz)
    Source code(zip)
  • jetty-10.0.10(Jun 20, 2022)

    Fixed Security Advisories

    • (CVE-2022-2047) - https://github.com/eclipse/jetty.project/security/advisories/GHSA-cj7v-27pg-wf7q - Invalid URI parsing may produce invalid HttpURI.authority
    • (CVE-2022-2048) - https://github.com/eclipse/jetty.project/security/advisories/GHSA-wgmr-mf83-7x4j - Invalid HTTP/2 requests can lead to denial of service
    • (CVE-2022-2191) - https://github.com/eclipse/jetty.project/security/advisories/GHSA-8mpp-f3f7-xc28 - SslConnection does not release pooled ByteBuffers in case of errors

    Special Thanks to the following Eclipse Jetty community members

    • @jianglai (Lai Jiang)
    • @markslater (markslater)
    • @prenagha (Padraic Renaghan)

    Changelog

    • #8161 - Improve SSLConnection buffers handling (Resolves CVE-2022-2191)
    • #8136 - Cherry-pick of Improvements to PathSpec for Jetty 10.0.x
    • #8134 - Improve cleanup of deflater/inflater pools for PerMessageDeflateExtension
    • #8088 - Add option to configure exitVm on ShutdownMonitor from System properties
    • #8067 - Wall time usage in DoSFilter RateTracker results in false positive alert
    • #8057 - Support Http Response 103 (Early Hints)
    • #8014 - Review HttpRequest URI construction (Resolves CVE-2022-2047)
    • #8008 - Add compliance mode for LEGACY multipart parser in Jetty 10+
    • #7994 - Ability to construct a detached client Request
    • #7981 - Add TRANSFER_ENCODING violation for MultiPart RFC7578 parser.
    • #7977 - UpgradeHttpServletRequest.setAttribute & UpgradeHttpServletRequest.removeAttribute can throw NullPointerException
    • #7975 - ForwardedRequestCustomizer setters do not clear existing handlers
    • #7953 - Fix StatisticsHandler in the case a Handler throws exception.
    • #7935 - Review HTTP/2 error handling (Resolves CVE-2022-2048)
    • #7929 - Correct requestlog formatString commented default (@prenagha)
    • #7924 - Fix a typo in Javadoc (@jianglai)
    • #7918 - PathMappings.asPathSpec does not allow root ServletPathSpec
    • #7891 - Better Servlet PathMappings for Regex
    • #7880 - DefaultServlet should not overwrite programmatically configured precompressed formats with defaults (@markslater)
    • #7863 - Default servlet drops first accept-encoding header if there is more than one. (@markslater)
    • #7858 - GZipHandler does not play nice with other handlers in HandlerCollection
    • #7818 - Modifying of HTTP headers in HttpChannel.Listener#onResponseBegin is no longer possible with Jetty 10
    • #7808 - Jetty duplicate set session cookie
    • #7802 - HTTP/3 QPACK - do not expect section ack for zero required insert count
    • #7754 - jetty.sh ignores JAVA_OPTIONS environment variable
    • #7748 - Allow overriding of url-pattern mapping in ServletContextHandler to allow for regex or uri-template matching
    • #7635 - QPACK decoder should fail connection if the encoder blocks more than SETTINGS_QPACK_BLOCKED_STREAMS
    • #4414 - GZipHandler not excluding inflation for specified paths
    • #1771 - Add module for SecuredRedirect support

    Dependencies

    • #8083 - Bump asciidoctorj to 2.5.4
    • #8077 - Bump asciidoctorj-diagram to 2.2.3
    • #7839 - Bump asm.version to 9.3
    • #8142 - Bump biz.aQute.bndlib to 6.3.1
    • #8075 - Bump checkstyle to 10.3
    • #8056 - Bump error_prone_annotations to 2.14.0
    • #8109 - Bump google-cloud-datastore to 2.7.0
    • #8100 - Bump grpc-core to 1.47.0
    • #7987 - Bump hawtio-default to 2.15.0
    • #7934 - Bump hazelcast.version to 4.2.5
    • #8003 - Bump jackson-annotations to 2.13.3
    • #8004 - Bump jackson-core to 2.13.3
    • #7849 - Bump jacoco-maven-plugin to 0.8.8
    • #7937 - Bump jboss-logging to 3.5.0.Final
    • #7815 - Bump jnr-ffi to 2.2.12
    • #7967 - Bump kerb-simplekdc to 2.0.2
    • #8029 - Bump logback-core to 1.3.0-alpha16
    • #8064 - Bump mariadb-java-client to 3.0.5
    • #7908 - Bump maven-antrun-plugin to 3.1.0
    • #8001 - Bump maven-bundle-plugin to 5.1.6
    • #7843 - Bump maven-clean-plugin to 3.2.0
    • #8080 - Bump maven-invoker-plugin to 3.3.0
    • #7902 - Bump maven-javadoc-plugin to 3.4.0
    • #8079 - Bump maven-scm-provider-jgit to 1.13.0
    • #7904 - Bump maven-site-plugin to 3.12.0
    • #7900 - Bump maven.resolver.version to 1.8.0
    • #7915 - Bump mongo-java-driver to 3.12.11
    • #8108 - Bump openwebbeans.version to 2.0.27
    • #7877 - Bump org.apache.aries.spifly.dynamic.bundle to 1.3.5
    • #8123 - Bump org.apache.felix.framework to 7.0.5
    • #8019 - Bump plexus-utils to 3.4.2
    • #7859 - Bump protostream to 4.4.2.Final
    • #8030 - Bump spotbugs-maven-plugin to 4.7.0.0
    • #8031 - Bump testcontainers-bom to 1.17.2
    • #7972 - Bump tycho-p2-repository-plugin to 2.7.3
    • #8038 - Bump versions-maven-plugin to 2.11.0
    Source code(tar.gz)
    Source code(zip)
  • jetty-9.4.47.v20220610(Jun 20, 2022)

    Fixed Security Advisories

    • (CVE-2022-2047) - https://github.com/eclipse/jetty.project/security/advisories/GHSA-cj7v-27pg-wf7q - Invalid URI parsing may produce invalid HttpURI.authority
    • (CVE-2022-2048) - https://github.com/eclipse/jetty.project/security/advisories/GHSA-wgmr-mf83-7x4j - Invalid HTTP/2 requests can lead to denial of service

    Important

    • https://github.com/eclipse/jetty.project/issues/7958 - Jetty 9.4.x is now at End of Community Support. (See issue for details)

    Changelog

    • #8145 - RegexPathSpec backport of optional group name/info lookup if regex fails
    • #8088 - Add option to configure exitVm on ShutdownMonitor from System properties
    • #8067 - Wall time usage in DoSFilter RateTracker results in false positive alert
    • #8014 - Review HttpRequest URI construction (Resolves CVE-2022-2047)
    • #7976 - Add TRANSFER_ENCODING violation for MultiPart RFC7578 parser.
    • #7947 - Improved PathSpec handling for servletName & pathInfo
    • #7935 - Review HTTP/2 error handling (Resolves CVE-2022-2048)
    • #7918 - PathMappings.asPathSpec does not allow root ServletPathSpec
    • #7863 - Default servlet drops first accept-encoding header if there is more than one.
    • #7858 - GZipHandler does not play nice with other handlers in HandlerCollection
    • #7837 - Fix StatisticsHandler in the case a Handler throws exception.
    • #7809 - Jetty 9.4.x 7801 duplicate set session cookies
    • #7748 - Allow overriding of url-pattern mapping in ServletContextHandler to allow for regex or uri-template matching

    Dependencies

    • #8076 - Bump asciidoctorj-diagram to 2.2.3
    • #7840 - Bump asm.version to 9.3
    • #8143 - Bump biz.aQute.bndlib to 6.3.1
    • #8055 - Bump error_prone_annotations to 2.14.0
    • #8110 - Bump google-cloud-datastore to 2.7.0
    • #8098 - Bump grpc-core to 1.47.0
    • #7988 - Bump hawtio-default to 2.15.0
    • #7999 - Bump jackson-annotations to 2.13.3
    • #8000 - Bump jackson-core to 2.13.3
    • #8002 - Bump jackson-databind to 2.13.3
    • #7846 - Bump jacoco-maven-plugin to 0.8.8
    • #7816 - Bump jnr-ffi to 2.2.12
    • #7968 - Bump kerb-simplekdc to 2.0.2
    • #8060 - Bump mariadb-java-client to 3.0.5
    • #7909 - Bump maven-antrun-plugin to 3.1.0
    • #7841 - Bump maven-clean-plugin to 3.2.0
    • #8078 - Bump maven-invoker-plugin to 3.3.0
    • #7903 - Bump maven-site-plugin to 3.12.0
    • #7901 - Bump maven.resolver.version to 1.8.0
    • #8128 - Bump maven.surefire.plugin.version to 3.0.0-M7
    • #7957 - Bump mongo-java-driver to 2.14.3
    • #8107 - Bump openwebbeans.version to 2.0.27
    • #7878 - Bump org.apache.aries.spifly.dynamic.bundle to 1.3.5
    • #8121 - Bump org.apache.felix.framework to 7.0.5
    • #8018 - Bump plexus-utils to 3.4.2
    • #7926 - Bump protostream to 4.4.3.Final
    • #8027 - Bump spotbugs-maven-plugin to 4.7.0.0
    • #8028 - Bump testcontainers.version to 1.17.2
    • #8039 - Bump versions-maven-plugin to 2.11.0
    Source code(tar.gz)
    Source code(zip)
  • jetty-9.4.46.v20220331(Apr 1, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @jebeaudet (Jacques-Etienne Beaudet)
    • @slovdahl (Sebastian Lövdahl)

    Changelog

    • #7771 - Clarify WebSocketUpgradeFilter.addMapping() method usage
    • #7615 - HttpServletResponse.encodeURL not working for URLs starting with ../
    • #7599 - Honor parameters order when parsing query and form parameters (@jebeaudet)
    • #7569 - Miconfigured headerCacheSize in can result in IllegalArgumentException
    • #7567 - Gzip compression not working for multipart/form-data when added to the allowed list using addIncludedMimeTypes.
    • #7548 - Interrupt flag is not always cleared in between requests
    • #7518 - ArrayTrie getBest fails to match the empty string entry in certain cases
    • #7516 - Fix log class name in ArrayByteBufferPool (@slovdahl)
    • #7496 - Transient 400: Bad Request responses
    • #7480 - remove duplicated dependencies and upgrade to last spring 3.2.x
    • #7271 - It is necessary to set MAX_CAPACITY to ArrayTernaryTrie/ArrayTrie
    • #6756 - Deprecate jetty-spring sub-project
    • #5965 - Option --write-module-graph produces wrong .dot file

    Dependencies

    • #7500 - Bump asciidoctor-maven-plugin to 2.2.2
    • #7706 - Bump awaitility to 4.2.0
    • #7501 - Bump checkstyle to 9.3
    • #7449 - Bump error_prone_annotations to 2.11.0
    • #7744 - Bump google-cloud-datastore to 2.2.9
    • #7805 - Bump grpc-core to 1.45.1
    • #7583 - Bump gson to 2.9.0
    • #7680 - Bump guava to 31.1-jre
    • #7445 - Bump guice to 5.1.0
    • #7560 - Bump hawtio-default to 2.14.5
    • #7582 - Bump infinispan.version to 11.0.15.Final
    • #7707 - Bump jackson-annotations to 2.13.2
    • #7699 - Bump jackson-core to 2.13.2
    • #7798 - Bump jackson-databind to 2.13.2.2
    • #7796 - Bump jmh.version to 1.35
    • #7790 - Bump jna to 5.11.0
    • #6920 - Bump jolokia-war to 1.7.1
    • #7590 - Bump json-smart to 2.4.8
    • #7705 - Bump logback.version to 1.2.11
    • #7792 - Bump mariadb-java-client to 3.0.4
    • #7727 - Bump maven-compiler-plugin to 3.10.1
    • #7737 - Bump maven-dependency-plugin to 3.3.0
    • #7542 - Bump maven-project-info-reports-plugin to 3.2.1
    • #7612 - Bump maven-site-plugin to 3.11.0
    • #7550 - Bump openwebbeans.version to 2.0.26
    • #7746 - Bump org.eclipse.osgi to 3.17.200
    • #7553 - Bump osgi.annotation to 8.1.0
    • #7779 - Bump spotbugs-maven-plugin to 4.6.0.0
    • #6756 - Bump spring-beans to 5.3.18
    • #7743 - Bump versions-maven-plugin to 2.10.0
    • #7622 - Bump weld-servlet-core to 3.1.9.Final
    • #7708 - Bump wildfly-common to 1.6.0.Final
    • #7756 - Bump wildfly-elytron to 1.19.0.Final
    • #7435 - Investigate Infinispan transitive dependencies
    Source code(tar.gz)
    Source code(zip)
  • jetty-11.0.9(Apr 1, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @joschi (Jochen Schalanda)
    • @ianrifkin (ianrifkin)
    • @sunng87 (Ning Sun)
    • @kaiyuezhou (Kaiyue Zhou)
    • @dellgreen (Dell Green)

    Changelog

    • #7748 - Allow overriding of url-pattern mapping in ServletContextHandler to allow for regex or uri-template matching
    • #7677 - jetty-maven-plugin - maven internal dependencies included on webapp classloader
    • #7657 - Remove unused test imports in jetty-nosql
    • #7655 - Remove unused imports in jetty-gcloud
    • #7633 - Make osgi build work with snapshot jsp jars
    • #7625 - HTTP/3 error against www.google.com
    • #7617 - Logback-access RequestLog not working
    • #7615 - HttpServletResponse.encodeURL not working for URLs starting with ../
    • #7613 - Configurations.add(Configuration) results in UnsupportedOperationException
    • #7605 - Honor parameters order when parsing query and form parameters
    • #7575 - Misleading docs for HttpClientTransportDynamic
    • #7574 - Turn off peer cerificate verification for quic-server by default (@sunng87)
    • #7573 - WebSockets - "Unsupported PathParam Type: java.lang.Integer"
    • #7567 - Gzip compression not working for multipart/form-data when added to the allowed list using addIncludedMimeTypes.
    • #7548 - Interrupt flag is not always cleared in between requests
    • #7547 - Fix typo in java doc (@kaiyuezhou)
    • #7545 - Named arguments do not work in jetty-openid.xml
    • #7544 - Add option to allow well-known directories to be listed.
    • #7524 - Missing package in JmxConfiguration
    • #7523 - Typo in AnnotationConfiguration
    • #7517 - Some ArrayTrie methods throw StackOverflowError when cointaining a very large entry
    • #7514 - Adding InheritedListeners to already-started components can cause IllegalStateException
    • #7513 - Getter/setter type mismatch for mbean attribute file in class org.eclipse.jetty.deploy.PropertiesConfigurationManager
    • #7496 - Transient 400: Bad Request responses
    • #7430 - Run WebSocket Autobahn test for all Jetty, Javax and Core APIs
    • #7414 - QoSFilter.setMaxRequests throws NullPointerException
    • #7344 - Incompatible with jacoco due to shutdown race condition
    • #7182 - jetty.sh start process should remove jetty_state whenever deleting the pid (@ianrifkin)
    • #6879 - Remove jminix (not maintained) module as hawtio provide same features
    • #6282 - SecuredRedirectHandler should probably redirect with 301 (@dellgreen)
    • #6017 - Property overriding does not work
    • #5965 - Option --write-module-graph produces wrong .dot file
    • #5681 - Unrecognized jetty-home/start.jar command line option not reported clearly

    Dependencies

    • #7498 - Bump asciidoctor-maven-plugin to 2.2.2
    • #7695 - Bump awaitility to 4.2.0
    • #7762 - Bump google-cloud-datastore to 2.2.9
    • #7733 - Bump grpc-core to 1.45.0
    • #7696 - Bump jackson-annotations to 2.13.2
    • #7697 - Bump jackson-core to 2.13.2
    • #7785 - Bump jackson-databind to 2.13.2.1
    • #7491 - Bump jakarta.inject-api to 2.0.1
    • #7788 - Bump jna-jpms to 5.11.0
    • #7487 - Bump jsp.impl.version to 10.0.14
    • #7589 - Bump logback-core to 1.3.0-alpha14
    • #7787 - Bump mariadb-java-client to 3.0.4
    • #7735 - Bump maven-compiler-plugin to 3.10.1
    • #7734 - Bump maven-dependency-plugin to 3.3.0
    • #7761 - Bump maven-jxr-plugin to 3.2.0
    • #7540 - Bump maven-project-info-reports-plugin to 3.2.1
    • #7620 - Bump maven-site-plugin to 3.11.0
    • #7759 - Bump org.eclipse.osgi to 3.17.200
    • #7758 - Bump versions-maven-plugin to 2.10.0
    • #7760 - Bump wildfly-elytron to 1.19.0.Final
    • #7495 - remove unsupported modules
    Source code(tar.gz)
    Source code(zip)
  • jetty-10.0.9(Apr 1, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @joschi (Jochen Schalanda)
    • @ianrifkin (ianrifkin)
    • @sunng87 (Ning Sun)
    • @kaiyuezhou (Kaiyue Zhou)
    • @dellgreen (Dell Green)

    Changelog

    • #7748 - Allow overriding of url-pattern mapping in ServletContextHandler to allow for regex or uri-template matching
    • #7677 - jetty-maven-plugin - maven internal dependencies included on webapp classloader
    • #7657 - Remove unused test imports in jetty-nosql
    • #7655 - Remove unused imports in jetty-gcloud
    • #7633 - Make osgi build work with snapshot jsp jars
    • #7625 - HTTP/3 error against www.google.com
    • #7617 - Logback-access RequestLog not working
    • #7615 - HttpServletResponse.encodeURL not working for URLs starting with ../
    • #7613 - Configurations.add(Configuration) results in UnsupportedOperationException
    • #7605 - Honor parameters order when parsing query and form parameters
    • #7575 - Misleading docs for HttpClientTransportDynamic
    • #7574 - Turn off peer cerificate verification for quic-server by default (@sunng87)
    • #7573 - WebSockets - "Unsupported PathParam Type: java.lang.Integer"
    • #7567 - Gzip compression not working for multipart/form-data when added to the allowed list using addIncludedMimeTypes.
    • #7548 - Interrupt flag is not always cleared in between requests
    • #7547 - Fix typo in java doc (@kaiyuezhou)
    • #7545 - Named arguments do not work in jetty-openid.xml
    • #7544 - Add option to allow well-known directories to be listed.
    • #7524 - Missing package in JmxConfiguration
    • #7523 - Typo in AnnotationConfiguration
    • #7517 - Some ArrayTrie methods throw StackOverflowError when cointaining a very large entry
    • #7514 - Adding InheritedListeners to already-started components can cause IllegalStateException
    • #7513 - Getter/setter type mismatch for mbean attribute file in class org.eclipse.jetty.deploy.PropertiesConfigurationManager
    • #7496 - Transient 400: Bad Request responses
    • #7414 - QoSFilter.setMaxRequests throws NullPointerException
    • #7344 - Incompatible with jacoco due to shutdown race condition
    • #7182 - jetty.sh start process should remove jetty_state whenever deleting the pid (@ianrifkin)
    • #6879 - Remove jminix (not maintained) module as hawtio provide same features
    • #6282 - SecuredRedirectHandler should probably redirect with 301 (@dellgreen)
    • #6017 - Property overriding does not work
    • #5965 - Option --write-module-graph produces wrong .dot file
    • #5681 - Unrecognized jetty-home/start.jar command line option not reported clearly

    Dependencies

    • #7499 - Bump asciidoctor-maven-plugin to 2.2.2
    • #7703 - Bump awaitility to 4.2.0
    • #7502 - Bump checkstyle to 9.3
    • #7470 - Bump error_prone_annotations to 2.11.0
    • #7741 - Bump google-cloud-datastore to 2.2.9
    • #7804 - Bump grpc-core to 1.45.1
    • #7587 - Bump gson to 2.9.0
    • #7679 - Bump guava to 31.1-jre
    • #7447 - Bump guice to 5.1.0
    • #7559 - Bump hawtio-default to 2.14.5
    • #7591 - Bump infinispan-bom to 11.0.15.Final
    • #7702 - Bump jackson-annotations to 2.13.2
    • #7704 - Bump jackson-core to 2.13.2
    • #7799 - Bump jackson-databind to 2.13.2.2
    • #7678 - Bump jetty-quiche-native to 0.12.0
    • #7797 - Bump jmh.version to 1.35
    • #7793 - Bump jna-jpms to 5.11.0
    • #6907 - Bump jolokia-war to 1.7.1
    • #7581 - Bump json-smart to 2.4.8
    • #7670 - Bump log4j-api to 2.17.2
    • #7585 - Bump logback-core to 1.3.0-alpha14
    • #7789 - Bump mariadb-java-client to 3.0.4
    • #7725 - Bump maven-compiler-plugin to 3.10.1
    • #7739 - Bump maven-dependency-plugin to 3.3.0
    • #7568 - Bump maven-javadoc-plugin to 3.3.2
    • #7755 - Bump maven-jxr-plugin to 3.2.0
    • #7416 - Bump maven-plugin-plugin to 3.6.4
    • #7543 - Bump maven-project-info-reports-plugin to 3.2.1
    • #7610 - Bump maven-site-plugin to 3.11.0
    • #7549 - Bump openwebbeans.version to 2.0.26
    • #7745 - Bump org.eclipse.osgi to 3.17.200
    • #7552 - Bump osgi.annotation to 8.1.0
    • #7555 - Bump slf4j to 2.0.0-alpha6 (@joschi)
    • #7780 - Bump spotbugs-maven-plugin to 4.6.0.0
    • #7669 - Bump tycho-p2-repository-plugin to 2.7.0
    • #7438 - Bump versions-maven-plugin to 2.9.0
    • #7602 - Bump weld-servlet-core to 3.1.9.Final
    • #7709 - Bump wildfly-common to 1.6.0.Final
    • #7757 - Bump wildfly-elytron to 1.19.0.Final
    • #7435 - Investigate Infinispan transitive dependencies
    • #7529 - Upgrade quiche to version 0.11.0
    Source code(tar.gz)
    Source code(zip)
  • jetty-11.0.8(Feb 7, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @Artur- (Artur)
    • @markslater (markslater)
    • @dellgreen (Dell Green)
    • @lujiefsi (lujiefsi)
    • @mszabo-wikia (mszabo-wikia)

    Changelog

    • #7524 - Missing package in JmxConfiguration
    • #7523 - Typo in AnnotationConfiguration
    • #7514 - Adding InheritedListeners to already-started components can cause IllegalStateException
    • #7430 - Run WebSocket Autobahn test for all Jetty, Javax and Core APIs
    • #7419 - Update resource base example so it works (@Artur-)
    • #7417 - Clarify that requestHeaderSize is a cumulative limit (@mszabo-wikia)
    • #7375 - Some environments require Request scoping during session save
    • #7369 - Document CustomRequestLog
    • #7361 - Fix resource leaks in PropertyUserStore, XmlConfiguraiton, and start.jar (@lujiefsi)
    • #7351 - Large WebSocket payloads with permessage-deflate hang on 10.0.7
    • #7348 - Slow CONNECT request causes NPE
    • #7327 - jetty-slf4j-impl missing from BOM
    • #7313 - addBean(_attributes); only called in the Convenience constructor of org.eclipse.jetty.server.Server
    • #7299 - Enabling the logging-logback module prevents eclipse remote debugging
    • #7297 - Deprecate log4j 1.x support
    • #7294 - Fix possible NPE from WebSocketAdapter
    • #7277 - Allow override of ServletRequest.getLocalName() and .getLocalPort() in post-intermediary scenarios
    • #7262 - Allow the SerlvetHandler.getFilterChain method to be overridden.
    • #7240 - Clarify and javadoc InvocationType
    • #7160 - HttpURI considers %25 to be ambiguous, preventing access to static resources with % in their name
    • #7132 - Tidy up demo webapps
    • #7131 - Use Charset instead of encoding string where possible
    • #7124 - Add default methods on LifeCycle.Listener interface
    • #7111 - Add support to deprecate jetty-home modules
    • #7109 - Deprecate UnixSocket JNR support
    • #7103 - Rework LaF of distro landing page
    • #7086 - WebSocket: java.lang.IllegalStateException: already released RetainableByteBuffer
    • #7064 - Cleanup or clarify (null) in output of --list-config
    • #7063 - Simplify command line use of org.eclipse.jetty.util.Password
    • #7062 - test-keystore.p12 is no longer packaged in jetty-home
    • #7059 - NPE in AllowedResourceAliasChecker.getPath()
    • #7042 - Simplify configuration to use different OpenIdConfiguration per webapp.
    • #7031 - ResponseWriter.println(char) does not print newline
    • #7008 - Problem with jetty.sh start regression 10.0.6 -> 10.0.7 when using JETTY_USER
    • #6987 - jetty-unixdomain-server is missing from jetty-bom (@markslater)
    • #6985 - ELContextCleaner references javax class in jetty-11
    • #6980 - ELContextCleaner failed because cannot access a member of class javax.el.BeanELResolver with modifiers "private static final"
    • #6973 - Jetty starts consuming CPU that remains high even without any traffic
    • #6965 - Expose Spec ServerContainer.upgrade() API
    • #6497 - Replace SameFileAliasChecker
    • #6282 - SecuredRedirectHandler should probably redirect with 301 (@dellgreen)
    • #6017 - Property overriding does not work
    • #4317 - EventSource does not work with GzipHandler
    • #4275 - Path Normalization/Traversal - Context Matching
    • #2690 - Clarify ordering, concurrency behavior of WebSocketListener and normal HTTP responses
    • #2504 - Expose more WebSocket details in JMX and Server Dump
    • #1087 - Support .well-known serving in handlers
    • #100 - Can't deploy web app as an unpacked directory inside a bundle JAR on Felix

    Dependencies

    • #7529 - Upgrade quiche to version 0.11.0
    • #7520 - Bump google-cloud-datastore from 2.2.2 to 2.2.3
    • #7508 - Bump logback-core from 1.3.0-alpha12 to 1.3.0-alpha13
    • #7502 - Bump checkstyle from 9.2.1 to 9.3
    • #7499 - Bump asciidoctor-maven-plugin from 2.2.1 to 2.2.2
    • #7495 - remove unsupported modules
    • #7491 - Bump jakarta.inject-api from 2.0.0 to 2.0.1
    • #7487 - Bump jsp.impl.version from 10.0.10 to 10.0.14
    • #7470 - Bump error_prone_annotations from 2.10.0 to 2.11.0
    • #7462 - Bump grpc-core from 1.43.2 to 1.44.0
    • #7447 - Bump guice from 5.0.1 to 5.1.0
    • #7438 - Bump versions-maven-plugin from 2.8.1 to 2.9.0
    • #7435 - Investigate Infinispan transitive dependencies
    • #7433 - Bump tycho-p2-repository-plugin from 2.5.0 to 2.6.0
    • #7428 - Bump mariadb-java-client from 2.7.4 to 2.7.5
    • #7426 - Bump testcontainers-bom from 1.16.2 to 1.16.3
    • #7416 - Bump maven-plugin-plugin from 3.6.2 to 3.6.4
    • #7410 - Bump maven.plugin-tools.version from 3.6.2 to 3.6.4
    • #7402 - Bump jnr-unixsocket from 0.38.15 to 0.38.17
    • #7401 - Bump grpc-core from 1.43.1 to 1.43.2
    • #7399 - Bump maven-bundle-plugin from 5.1.3 to 5.1.4
    • #7397 - Bump hawtio-default from 2.14.3 to 2.14.4
    • #7385 - Bump build-helper-maven-plugin from 3.2.0 to 3.3.0
    • #7384 - Bump asciidoctorj from 2.5.2 to 2.5.3
    • #7383 - Bump maven-jar-plugin from 3.2.0 to 3.2.2
    • #7381 - Bump jboss-logging from 3.4.2.Final to 3.4.3.Final
    • #7379 - Bump google-cloud-datastore from 2.2.1 to 2.2.2
    • #7367 - Bump jnr-posix from 3.1.14 to 3.1.15
    • #7365 - Bump jnr-ffi from 2.2.10 to 2.2.11
    • #7362 - Bump jnr-enxio from 0.32.12 to 0.32.13
    • #7358 - Bump spotbugs-maven-plugin from 4.5.2.0 to 4.5.3.0
    • #7347 - Bump maven-scm-provider-jgit from 1.10.0 to 1.12.2
    • #7345 - Bump maven-deploy-plugin from 3.0.0-M1 to 3.0.0-M2
    • #7343 - Bump log4j-api from 2.17.0 to 2.17.1
    • #7340 - Bump checkstyle from 9.2 to 9.2.1
    • #7339 - Bump maven-site-plugin from 3.9.1 to 3.10.0
    • #7337 - Bump jmh.version from 1.33 to 1.34
    • #7334 - Bump logback-core from 1.3.0-alpha11 to 1.3.0-alpha12
    • #7333 - Bump plexus-component-annotations from 2.1.0 to 2.1.1
    • #7330 - Bump maven.resolver.version from 1.7.2 to 1.7.3
    • #7325 - Bump spotbugs-maven-plugin from 4.5.0.0 to 4.5.2.0
    • #7323 - Bump grpc-core from 1.43.0 to 1.43.1
    • #7322 - Bump hazelcast.version from 4.2.3 to 4.2.4
    • #7310 - Bump log4j-api from 2.16.0 to 2.17.0
    • #7309 - Bump hawtio-default from 2.14.2 to 2.14.3
    • #7306 - Bump openwebbeans.version from 2.0.24 to 2.0.25
    • #7303 - Bump log4j-api from 2.16.0 to 2.17.0
    • #7300 - Bump logback-core from 1.3.0-alpha10 to 1.3.0-alpha11
    • #7289 - Bump hazelcast.version from 4.2.2 to 4.2.3
    • #7288 - Bump grpc-core from 1.42.1 to 1.43.0
    • #7275 - Bump maven-bundle-plugin from 5.1.2 to 5.1.3
    • #7274 - Bump log4j-api from 2.15.0 to 2.16.0
    • #7265 - Bump hawtio-default from 2.14.1 to 2.14.2
    • #7256 - Bump log4j-api from 2.14.1 to 2.15.0
    • #7254 - Upgrade jackson-databind to 2.13.0
    • #7245 - Bump openwebbeans.version from 2.0.23 to 2.0.24
    • #7239 - Bump org.eclipse.osgi from 3.17.0 to 3.17.100
    • #7236 - Bump jnr-posix from 3.1.13 to 3.1.14
    • #7234 - Bump jnr-unixsocket from 0.38.14 to 0.38.15
    • #7233 - Bump httpcore from 4.4.14 to 4.4.15
    • #7224 - Bump org.apache.felix.framework from 7.0.1 to 7.0.3
    • #7214 - Bump google-cloud-datastore from 2.2.0 to 2.2.1
    • #7204 - Bump jnr-enxio from 0.32.11 to 0.32.12
    • #7196 - Bump jnr-posix from 3.1.12 to 3.1.13
    • #7194 - Bump jnr-unixsocket from 0.38.13 to 0.38.14
    • #7191 - Bump jnr-ffi from 2.2.9 to 2.2.10
    • #7179 - Bump checkstyle from 9.1 to 9.2
    • #7176 - Bump maven-plugin-plugin from 3.6.1 to 3.6.2
    • #7174 - Bump junit.version from 5.8.1 to 5.8.2
    • #7172 - Bump maven.plugin-tools.version from 3.6.1 to 3.6.2
    • #7154 - Bump jnr-unixsocket from 0.38.12 to 0.38.13
    • #7152 - Bump jnr-enxio from 0.32.10 to 0.32.11
    • #7151 - Bump jnr-posix from 3.1.11 to 3.1.12
    • #7144 - Bump maven.version from 3.8.3 to 3.8.4
    • #7135 - Bump spotbugs-maven-plugin from 4.4.2.2 to 4.5.0.0
    • #7128 - Bump google-cloud-datastore from 2.1.3 to 2.2.0
    • #7116 - Bump grpc-core from 1.42.0 to 1.42.1
    • #7089 - Bump jna from 5.9.0 to 5.10.0
    • #7084 - Bump error_prone_annotations from 2.9.0 to 2.10.0
    • #7082 - Bump grpc-core from 1.41.0 to 1.42.0
    • #7068 - Bump gson from 2.8.8 to 2.8.9
    • #7067 - Bump checkstyle from 9.0.1 to 9.1
    • #7045 - Bump h2spec-maven-plugin from 1.0.8 to 1.0.9
    • #7040 - Bump hawtio-default from 2.14.0 to 2.14.1
    • #7037 - Bump testcontainers-bom from 1.16.1 to 1.16.2
    • #7035 - Bump awaitility from 4.1.0 to 4.1.1
    • #7029 - Bump spotbugs-maven-plugin from 4.4.2.1 to 4.4.2.2
    • #7028 - Bump h2spec-maven-plugin from 1.0.7 to 1.0.8
    • #7024 - Bump google-cloud-datastore from 2.1.2 to 2.1.3
    • #7019 - Bump testcontainers-bom from 1.16.0 to 1.16.1
    • #7014 - Bump ant.version from 1.10.11 to 1.10.12
    • #7012 - Remove all old geronimo spec jars from jetty-10
    • #7007 - Bump spotbugs-maven-plugin from 4.4.2 to 4.4.2.1
    • #7006 - Bump jakarta.inject-api from 1.0.3 to 1.0.4
    • #6996 - Bump spotbugs-maven-plugin from 4.4.1 to 4.4.2
    • #6995 - Bump osgi.annotation from 8.0.0 to 8.0.1
    • #6954 - Bump maven.version from 3.8.2 to 3.8.3
    Source code(tar.gz)
    Source code(zip)
  • jetty-10.0.8(Feb 7, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @Artur- (Artur)
    • @markslater (markslater)
    • @dellgreen (Dell Green)
    • @lujiefsi (lujiefsi)
    • @mszabo-wikia (mszabo-wikia)

    Changelog

    • #7524 - Missing package in JmxConfiguration
    • #7523 - Typo in AnnotationConfiguration
    • #7514 - Adding InheritedListeners to already-started components can cause IllegalStateException
    • #7430 - Run WebSocket Autobahn test for all Jetty, Javax and Core APIs
    • #7419 - Update resource base example so it works (@Artur-)
    • #7417 - Clarify that requestHeaderSize is a cumulative limit (@mszabo-wikia)
    • #7375 - Some environments require Request scoping during session save
    • #7369 - Document CustomRequestLog
    • #7361 - Fix resource leaks in PropertyUserStore, XmlConfiguraiton, and start.jar (@lujiefsi)
    • #7351 - Large WebSocket payloads with permessage-deflate hang on 10.0.7
    • #7348 - Slow CONNECT request causes NPE
    • #7327 - jetty-slf4j-impl missing from BOM
    • #7313 - addBean(_attributes); only called in the Convenience constructor of org.eclipse.jetty.server.Server
    • #7299 - Enabling the logging-logback module prevents eclipse remote debugging
    • #7297 - Deprecate log4j 1.x support
    • #7294 - Fix possible NPE from WebSocketAdapter
    • #7277 - Allow override of ServletRequest.getLocalName() and .getLocalPort() in post-intermediary scenarios
    • #7262 - Allow the SerlvetHandler.getFilterChain method to be overridden.
    • #7240 - Clarify and javadoc InvocationType
    • #7160 - HttpURI considers %25 to be ambiguous, preventing access to static resources with % in their name
    • #7132 - Tidy up demo webapps
    • #7131 - Use Charset instead of encoding string where possible
    • #7124 - Add default methods on LifeCycle.Listener interface
    • #7111 - Add support to deprecate jetty-home modules
    • #7109 - Deprecate UnixSocket JNR support
    • #7103 - Rework LaF of distro landing page
    • #7086 - WebSocket: java.lang.IllegalStateException: already released RetainableByteBuffer
    • #7064 - Cleanup or clarify (null) in output of --list-config
    • #7063 - Simplify command line use of org.eclipse.jetty.util.Password
    • #7062 - test-keystore.p12 is no longer packaged in jetty-home
    • #7059 - NPE in AllowedResourceAliasChecker.getPath()
    • #7042 - Simplify configuration to use different OpenIdConfiguration per webapp.
    • #7031 - ResponseWriter.println(char) does not print newline
    • #7008 - Problem with jetty.sh start regression 10.0.6 -> 10.0.7 when using JETTY_USER
    • #6987 - jetty-unixdomain-server is missing from jetty-bom (@markslater)
    • #6980 - ELContextCleaner failed because cannot access a member of class javax.el.BeanELResolver with modifiers "private static final"
    • #6973 - Jetty starts consuming CPU that remains high even without any traffic
    • #6965 - Expose Spec ServerContainer.upgrade() API
    • #6497 - Replace SameFileAliasChecker
    • #6282 - SecuredRedirectHandler should probably redirect with 301 (@dellgreen)
    • #6017 - Property overriding does not work
    • #4317 - EventSource does not work with GzipHandler
    • #4275 - Path Normalization/Traversal - Context Matching
    • #2690 - Clarify ordering, concurrency behavior of WebSocketListener and normal HTTP responses
    • #2504 - Expose more WebSocket details in JMX and Server Dump
    • #1087 - Support .well-known serving in handlers
    • #100 - Can't deploy web app as an unpacked directory inside a bundle JAR on Felix

    Dependencies

    • #7529 - Upgrade quiche to version 0.11.0
    • #7520 - Bump google-cloud-datastore from 2.2.2 to 2.2.3
    • #7508 - Bump logback-core from 1.3.0-alpha12 to 1.3.0-alpha13
    • #7502 - Bump checkstyle from 9.2.1 to 9.3
    • #7499 - Bump asciidoctor-maven-plugin from 2.2.1 to 2.2.2
    • #7470 - Bump error_prone_annotations from 2.10.0 to 2.11.0
    • #7462 - Bump grpc-core from 1.43.2 to 1.44.0
    • #7447 - Bump guice from 5.0.1 to 5.1.0
    • #7438 - Bump versions-maven-plugin from 2.8.1 to 2.9.0
    • #7435 - Investigate Infinispan transitive dependencies
    • #7433 - Bump tycho-p2-repository-plugin from 2.5.0 to 2.6.0
    • #7428 - Bump mariadb-java-client from 2.7.4 to 2.7.5
    • #7426 - Bump testcontainers-bom from 1.16.2 to 1.16.3
    • #7416 - Bump maven-plugin-plugin from 3.6.2 to 3.6.4
    • #7410 - Bump maven.plugin-tools.version from 3.6.2 to 3.6.4
    • #7402 - Bump jnr-unixsocket from 0.38.15 to 0.38.17
    • #7401 - Bump grpc-core from 1.43.1 to 1.43.2
    • #7399 - Bump maven-bundle-plugin from 5.1.3 to 5.1.4
    • #7397 - Bump hawtio-default from 2.14.3 to 2.14.4
    • #7385 - Bump build-helper-maven-plugin from 3.2.0 to 3.3.0
    • #7384 - Bump asciidoctorj from 2.5.2 to 2.5.3
    • #7383 - Bump maven-jar-plugin from 3.2.0 to 3.2.2
    • #7381 - Bump jboss-logging from 3.4.2.Final to 3.4.3.Final
    • #7379 - Bump google-cloud-datastore from 2.2.1 to 2.2.2
    • #7367 - Bump jnr-posix from 3.1.14 to 3.1.15
    • #7365 - Bump jnr-ffi from 2.2.10 to 2.2.11
    • #7362 - Bump jnr-enxio from 0.32.12 to 0.32.13
    • #7358 - Bump spotbugs-maven-plugin from 4.5.2.0 to 4.5.3.0
    • #7347 - Bump maven-scm-provider-jgit from 1.10.0 to 1.12.2
    • #7345 - Bump maven-deploy-plugin from 3.0.0-M1 to 3.0.0-M2
    • #7343 - Bump log4j-api from 2.17.0 to 2.17.1
    • #7340 - Bump checkstyle from 9.2 to 9.2.1
    • #7339 - Bump maven-site-plugin from 3.9.1 to 3.10.0
    • #7337 - Bump jmh.version from 1.33 to 1.34
    • #7334 - Bump logback-core from 1.3.0-alpha11 to 1.3.0-alpha12
    • #7333 - Bump plexus-component-annotations from 2.1.0 to 2.1.1
    • #7330 - Bump maven.resolver.version from 1.7.2 to 1.7.3
    • #7325 - Bump spotbugs-maven-plugin from 4.5.0.0 to 4.5.2.0
    • #7323 - Bump grpc-core from 1.43.0 to 1.43.1
    • #7322 - Bump hazelcast.version from 4.2.3 to 4.2.4
    • #7310 - Bump log4j-api from 2.16.0 to 2.17.0
    • #7309 - Bump hawtio-default from 2.14.2 to 2.14.3
    • #7306 - Bump openwebbeans.version from 2.0.24 to 2.0.25
    • #7303 - Bump log4j-api from 2.16.0 to 2.17.0
    • #7300 - Bump logback-core from 1.3.0-alpha10 to 1.3.0-alpha11
    • #7289 - Bump hazelcast.version from 4.2.2 to 4.2.3
    • #7288 - Bump grpc-core from 1.42.1 to 1.43.0
    • #7275 - Bump maven-bundle-plugin from 5.1.2 to 5.1.3
    • #7274 - Bump log4j-api from 2.15.0 to 2.16.0
    • #7265 - Bump hawtio-default from 2.14.1 to 2.14.2
    • #7256 - Bump log4j-api from 2.14.1 to 2.15.0
    • #7254 - Upgrade jackson-databind to 2.13.0
    • #7245 - Bump openwebbeans.version from 2.0.23 to 2.0.24
    • #7239 - Bump org.eclipse.osgi from 3.17.0 to 3.17.100
    • #7236 - Bump jnr-posix from 3.1.13 to 3.1.14
    • #7234 - Bump jnr-unixsocket from 0.38.14 to 0.38.15
    • #7233 - Bump httpcore from 4.4.14 to 4.4.15
    • #7224 - Bump org.apache.felix.framework from 7.0.1 to 7.0.3
    • #7214 - Bump google-cloud-datastore from 2.2.0 to 2.2.1
    • #7204 - Bump jnr-enxio from 0.32.11 to 0.32.12
    • #7196 - Bump jnr-posix from 3.1.12 to 3.1.13
    • #7194 - Bump jnr-unixsocket from 0.38.13 to 0.38.14
    • #7191 - Bump jnr-ffi from 2.2.9 to 2.2.10
    • #7179 - Bump checkstyle from 9.1 to 9.2
    • #7176 - Bump maven-plugin-plugin from 3.6.1 to 3.6.2
    • #7174 - Bump junit.version from 5.8.1 to 5.8.2
    • #7172 - Bump maven.plugin-tools.version from 3.6.1 to 3.6.2
    • #7154 - Bump jnr-unixsocket from 0.38.12 to 0.38.13
    • #7152 - Bump jnr-enxio from 0.32.10 to 0.32.11
    • #7151 - Bump jnr-posix from 3.1.11 to 3.1.12
    • #7144 - Bump maven.version from 3.8.3 to 3.8.4
    • #7135 - Bump spotbugs-maven-plugin from 4.4.2.2 to 4.5.0.0
    • #7128 - Bump google-cloud-datastore from 2.1.3 to 2.2.0
    • #7116 - Bump grpc-core from 1.42.0 to 1.42.1
    • #7089 - Bump jna from 5.9.0 to 5.10.0
    • #7084 - Bump error_prone_annotations from 2.9.0 to 2.10.0
    • #7082 - Bump grpc-core from 1.41.0 to 1.42.0
    • #7068 - Bump gson from 2.8.8 to 2.8.9
    • #7067 - Bump checkstyle from 9.0.1 to 9.1
    • #7045 - Bump h2spec-maven-plugin from 1.0.8 to 1.0.9
    • #7040 - Bump hawtio-default from 2.14.0 to 2.14.1
    • #7037 - Bump testcontainers-bom from 1.16.1 to 1.16.2
    • #7035 - Bump awaitility from 4.1.0 to 4.1.1
    • #7029 - Bump spotbugs-maven-plugin from 4.4.2.1 to 4.4.2.2
    • #7028 - Bump h2spec-maven-plugin from 1.0.7 to 1.0.8
    • #7024 - Bump google-cloud-datastore from 2.1.2 to 2.1.3
    • #7019 - Bump testcontainers-bom from 1.16.0 to 1.16.1
    • #7014 - Bump ant.version from 1.10.11 to 1.10.12
    • #7012 - Remove all old geronimo spec jars from jetty-10
    • #7007 - Bump spotbugs-maven-plugin from 4.4.2 to 4.4.2.1
    • #7006 - Bump jakarta.inject-api from 1.0.3 to 1.0.4
    • #6996 - Bump spotbugs-maven-plugin from 4.4.1 to 4.4.2
    • #6995 - Bump osgi.annotation from 8.0.0 to 8.0.1
    • #6954 - Bump maven.version from 3.8.2 to 3.8.3
    Source code(tar.gz)
    Source code(zip)
  • jetty-9.4.45.v20220203(Feb 7, 2022)

    Special Thanks to the following Eclipse Jetty community members

    • @slovdahl (Sebastian Lövdahl)

    Changelog

    • #7516 - Fix log class name in ArrayByteBufferPool (@slovdahl)
    • #7496 - Transient 400: Bad Request responses in jetty-9.4.45.v20220128
    • #7480 - remove duplicated dependencies and upgrade to last spring 3.2.x
    • #7440 - ContextHandler.getAliasChecks() breaks Spring Boot
    • #7375 - Some environments require Request scoping during session save
    • #7348 - Slow CONNECT request causes NPE
    • #7277 - Allow override of ServletRequest.getLocalName() and .getLocalPort() in post-intermediary scenarios
    • #7271 - It is necessary to set MAX_CAPACITY to ArrayTernaryTrie/ArrayTrie
    • #7266 - Wrong ALPN jars are selected for newer versions of JDK8
    • #7222 - Remove redundant overridden methods in AllowedResourceAliasCheckListener
    • #7124 - Add default methods on LifeCycle.Listener interface
    • #7078 - CompressionPools are not shared between multiple contexts for 9.4 WebSocket
    • #7059 - NPE in AllowedResourceAliasChecker.getPath()
    • #7031 - ResponseWriter.println(char) does not print newline
    • #6974 - Major websocket memory change in 9.4.36
    • #6969 - Getting 404 failures when trying to enable logging-log4j module.
    • #6965 - Expose Spec ServerContainer.upgrade() API
    • #6889 - Cherry pick update to infinispan 11.0.11 back to jetty-9.4.x(#6766)
    • #6497 - Replace SameFileAliasChecker
    • #4275 - Path Normalization/Traversal - Context Matching

    Dependencies

    • #7519 - Bump google-cloud-datastore from 2.2.2 to 2.2.3
    • #7501 - Bump checkstyle from 9.2.1 to 9.3
    • #7500 - Bump asciidoctor-maven-plugin from 2.2.1 to 2.2.2
    • #7456 - Bump grpc-core from 1.43.2 to 1.44.0
    • #7449 - Bump error_prone_annotations from 2.10.0 to 2.11.0
    • #7445 - Bump guice from 5.0.1 to 5.1.0
    • #7439 - Bump versions-maven-plugin from 2.8.1 to 2.9.0
    • #7435 - Investigate Infinispan transitive dependencies
    • #7434 - Fix log4j2 module
    • #7429 - Bump mariadb-java-client from 2.7.4 to 2.7.5
    • #7427 - Bump testcontainers.version from 1.16.2 to 1.16.3
    • #7412 - Bump maven-plugin-plugin from 3.6.2 to 3.6.4
    • #7411 - Bump maven.plugin-tools.version from 3.6.2 to 3.6.4
    • #7389 - Bump google-cloud-datastore from 2.2.1 to 2.2.2
    • #7388 - Bump maven-compiler-plugin from 3.8.1 to 3.9.0
    • #7387 - Bump build-helper-maven-plugin from 3.2.0 to 3.3.0
    • #7386 - Bump jboss-logging from 3.4.2.Final to 3.4.3.Final
    • #7380 - Bump hawtio-default from 2.14.3 to 2.14.4
    • #7368 - Bump jnr-posix from 3.1.14 to 3.1.15
    • #7366 - Bump jnr-unixsocket from 0.38.15 to 0.38.17
    • #7364 - Bump jnr-enxio from 0.32.12 to 0.32.13
    • #7363 - Bump grpc-core from 1.43.1 to 1.43.2
    • #7359 - Bump spotbugs-maven-plugin from 4.5.2.0 to 4.5.3.0
    • #7346 - Bump maven-deploy-plugin from 3.0.0-M1 to 3.0.0-M2
    • #7342 - Bump checkstyle from 9.2 to 9.2.1
    • #7341 - Bump maven-site-plugin from 3.9.1 to 3.10.0
    • #7338 - Bump jmh.version from 1.33 to 1.34
    • #7336 - Bump logback.version from 1.2.9 to 1.2.10
    • #7332 - Bump plexus-container-default from 2.1.0 to 2.1.1
    • #7331 - Bump plexus-component-annotations from 2.1.0 to 2.1.1
    • #7329 - Bump maven.resolver.version from 1.7.2 to 1.7.3
    • #7324 - Bump spotbugs-maven-plugin from 4.5.0.0 to 4.5.2.0
    • #7321 - Bump grpc-core from 1.43.0 to 1.43.1
    • #7312 - Bump hawtio-default from 2.14.2 to 2.14.3
    • #7308 - Bump openwebbeans.version from 2.0.24 to 2.0.25
    • #7301 - Bump logback.version from 1.2.8 to 1.2.9
    • #7290 - Bump grpc-core from 1.42.1 to 1.43.0
    • #7287 - Bump logback.version from 1.2.7 to 1.2.8
    • #7264 - Bump hawtio-default from 2.14.1 to 2.14.2
    • #7258 - Upgrade log4j2 from 2.14.0 to 2.15.0
    • #7253 - Upgrade jackson-databind to 2.13.0
    • #7246 - Bump openwebbeans.version from 2.0.23 to 2.0.24
    • #7238 - Bump jnr-posix from 3.1.13 to 3.1.14
    • #7237 - Bump jnr-unixsocket from 0.38.14 to 0.38.15
    • #7235 - Bump org.eclipse.osgi from 3.17.0 to 3.17.100
    • #7216 - Bump google-cloud-datastore from 2.2.0 to 2.2.1
    • #7213 - Bump buildnumber-maven-plugin from 1.4 to 3.0.0
    • #7205 - Bump jnr-posix from 3.1.12 to 3.1.13
    • #7202 - Bump jnr-unixsocket from 0.38.13 to 0.38.14
    • #7199 - Bump jnr-ffi from 2.2.9 to 2.2.10
    • #7198 - Bump jnr-enxio from 0.32.11 to 0.32.12
    • #7177 - Bump maven.plugin-tools.version from 3.6.1 to 3.6.2
    • #7175 - Bump checkstyle from 9.1 to 9.2
    • #7173 - Bump junit.version from 5.8.1 to 5.8.2
    • #7156 - Bump jnr-unixsocket from 0.38.12 to 0.38.13
    • #7155 - Bump jnr-ffi from 2.2.8 to 2.2.9
    • #7150 - Bump jnr-posix from 3.1.11 to 3.1.12
    • #7149 - Bump jnr-enxio from 0.32.10 to 0.32.11
    • #7145 - Bump maven.version from 3.8.3 to 3.8.4
    • #7136 - Bump spotbugs-maven-plugin from 4.4.2.2 to 4.5.0.0
    • #7129 - Bump google-cloud-datastore from 2.1.3 to 2.2.0
    • #7115 - Bump grpc-core from 1.42.0 to 1.42.1
    • #7105 - Bump logback.version from 1.2.6 to 1.2.7
    • #7090 - Bump jna from 5.9.0 to 5.10.0
    • #7085 - Bump grpc-core from 1.41.0 to 1.42.0
    • #7083 - Bump error_prone_annotations from 2.9.0 to 2.10.0
    • #7070 - Bump checkstyle from 9.0.1 to 9.1
    • #7069 - Bump gson from 2.8.8 to 2.8.9
    • #7046 - Bump h2spec-maven-plugin from 1.0.8 to 1.0.9
    • #7039 - Bump testcontainers.version from 1.16.1 to 1.16.2
    • #7038 - Bump hawtio-default from 2.14.0 to 2.14.1
    • #7036 - Bump awaitility from 4.1.0 to 4.1.1
    • #7030 - Bump h2spec-maven-plugin from 1.0.7 to 1.0.8
    • #7027 - Bump spotbugs-maven-plugin from 4.4.2.1 to 4.4.2.2
    • #7023 - Bump google-cloud-datastore from 2.1.2 to 2.1.3
    • #7020 - Bump testcontainers.version from 1.16.0 to 1.16.1
    • #7015 - Bump ant.version from 1.10.11 to 1.10.12
    • #7005 - Bump spotbugs-maven-plugin from 4.4.2 to 4.4.2.1
    • #6994 - Bump spotbugs-maven-plugin from 4.4.1 to 4.4.2
    • #6992 - Bump osgi.annotation from 8.0.0 to 8.0.1
    • #6975 - Bump jboss-threads from 3.1.0.Final to 3.4.2.Final
    • #6972 - Bump jboss-logmanager from 2.1.15.Final to 2.1.18.Final
    • #6957 - Bump checkstyle from 9.0 to 9.0.1
    • #6956 - Bump maven.version from 3.8.2 to 3.8.3
    • #6936 - Bump guava from 30.1.1-jre to 31.0.1-jre
    Source code(tar.gz)
    Source code(zip)
  • jetty-11.0.7(Oct 12, 2021)

    Special Thanks to the following Eclipse Jetty community members

    • @frode-carlsen (Frode Carlsen)

    Changelog

    • #6406 - Jetty Jaspi module not compatible with Jakarta EE 9 (Jakarta Authentication) (@frode-carlsen)

    Dependency Updates

    • #6788 - Bump conscrypt-openjdk-uber from 2.5.1 to 2.5.2
    • #6750 - Bump openwebbeans.version from 2.0.20 to 2.0.23
    • #6742 - Bump json-smart from 2.3 to 2.4.7
    • #6725 - Bump gson from 2.8.6 to 2.8.8
    • #6722 - Bump biz.aQute.bndlib from 5.2.0 to 5.3.0
    • #6717 - Bump bouncycastle.version from 1.62 to 1.69
    • #6712 - Bump jnr-unixsocket from 0.38.3 to 0.38.10
    • #6711 - Bump google-cloud-datastore from 1.105.0 to 2.1.0
    • #6705 - Bump hazelcast.version from 4.1 to 4.2.2
    • #6679 - Update to Apache Jasper 10.0.10
    Source code(tar.gz)
    Source code(zip)
  • jetty-10.0.7(Oct 12, 2021)

    Special Thanks to the following Eclipse Jetty community members

    • @prenagha (Padraic Renaghan)

    Changelog

    • #6883 - Welcome file redirects do not honor the relativeRedirectAllowed option
    • #6870 - Encode control characters in URIUtil.encodePath
    • #6869 - Correct Content-Type within HTML error pages
    • #6868 - _uriCompliance attribute has been forgotten in the HttpConfiguration constructor from another configuration
    • #6860 - IPv6 format
    • #6752 - DefaultSessionCache more extensible using ConcurrentMap (@prenagha)
    • #6735 - infinispan-embedded-query and infinispan-remote-query modules broken
    • #6696 - High WebSocket memory usage in Jetty 10
    • #6693 - FastCGI review
    • #6681 - Alternate Alias checkers
    • #6661 - Some SocketOptions not supported on Windows
    • #6654 - ServerUpgradeRequest.getCookies() can throws NullPointerException
    • #6642 - WebSocket handling of Connection: upgrade,close.
    • #6624 - Fix non-domain SNI on Java17
    • #6618 - ID token azp claim should not be required if aud is single value array
    • #6617 - Add basic auth support for OpenId token endpoint (client_secret_basic)
    • #6603 - HTTP/2 max local stream count exceeded
    • #6602 - SessionTracker memory leak on WebSockets that close immediately
    • #6601 - jetty-websocket-core not usable standalone, only with websocket-javax-server or websocket-jetty-server
    • #6586 - Remove some unnecessary dependencies
    • #6565 - Improve deployment of symlinked webapplications
    • #6562 - HttpOutput.write(ByteBuffer buffer)
    • #6559 - Non blocking ReservedThreadExecutor (#6535)
    • #6556 - MemcachedSessionDataMap needs to set the context classloader before serialization/deseriazliation.
    • #6554 - Allow creation of DefaultIdentityService without realmName.
    • #6553 - Review usage of Authentication.UNAUTHENTICATED in SecurityHandler
    • #6544 - Using jetty.gzip.excludedMimeTypeList property results in an error
    • #6520 - Error page has HTML error when writePoweredBy is enabled.
    • #6494 - Reduce header cache memory usage on non persistent requests
    • #6489 - Some URI valid compliance modes cannot be set in .ini file.
    • #6487 - Expose ServletHolder getter in ServletHandler$ChainEnd for auditing libraries to use
    • #6476 - Show message if JVM args are present but new JVM is spawned based on active modules
    • #6406 - Jetty Jaspi module not compatible with Jakarta EE 9 (Jakarta Authentication)
    • #6372 - Review socket options configuration
    • #6322 - Use RetainableByteBuffer in HttpConnection
    • #6043 - Reimplement UnixSocket support based on Java 16
    • #5229 - Update WebSocket documentation in Jetty 10

    Dependency Updates

    • #6935 - Bump guava from 30.1.1-jre to 31.0.1-jre
    • #6921 - Bump hawtio-default from 2.13.6 to 2.14.0
    • #6914 - Bump grpc-core from 1.40.1 to 1.41.0
    • #6913 - Bump logback-core from 1.3.0-alpha9 to 1.3.0-alpha10
    • #6912 - Bump log4j-api from 2.14.0 to 2.14.1
    • #6911 - Bump hawtio-default from 2.13.5 to 2.13.6
    • #6910 - Bump jakarta.inject-api from 1.0 to 1.0.3
    • #6904 - Bump jamon.version from 2.81 to 2.82
    • #6901 - Bump google-cloud-datastore from 2.1.0 to 2.1.2
    • #6863 - Bump jnr-unixsocket from 0.38.10 to 0.38.11
    • #6845 - Bump org.eclipse.osgi.util from 3.6.0 to 3.6.100
    • #6843 - Bump org.eclipse.osgi.services from 3.10.100 to 3.10.200
    • #6842 - Bump org.eclipse.osgi from 3.16.300 to 3.17.0
    • #6840 - Bump jakarta.transaction-api from 1.3.2 to 1.3.3
    • #6830 - Bump jaxws-rt from 2.3.3 to 2.3.5
    • #6824 - Bump cdi-api from 1.2 to 2.0
    • #6809 - Bump bouncycastle.version from 1.62 to 1.69
    • #6807 - Bump tycho-version from 2.1.0 to 2.3.0
    • #6772 - Update to asm 9.2
    • #6763 - Bump json-smart from 2.3 to 2.4.7
    • #6762 - Bump google-cloud-datastore from 1.105.0 to 2.1.0
    • #6751 - Bump jnr-unixsocket from 0.38.3 to 0.38.10 (#6712)
    • #6732 - Bump hazelcast.version from 4.1 to 4.2.2
    • #6721 - Bump gson from 2.8.6 to 2.8.8
    • #6710 - Bump xmemcached from 2.4.6 to 2.4.7
    • #6707 - Bump org.apache.felix.framework from 6.0.3 to 7.0.1
    • #6703 - Bump jnr-constants from 0.10.0 to 0.10.2
    • #6684 - Bump slf4j to 2.0.0-alpha5
    • #6677 - Update to apache jasper 9.0.52
    Source code(tar.gz)
    Source code(zip)
  • jetty-9.3.30.v20211001(Oct 6, 2021)

    :star2: Sponsored Changes

    • #6072 - Backport High CPU usage when TLS client sends TLS Record data exceeding length 17408 fix
    • #6263 - Backport URI encoding in ConcatServlet & WelcomeFilter fixes
    • #6277 - Backport handle exceptions thrown from session destroy listener
    Source code(tar.gz)
    Source code(zip)
  • jetty-9.4.44.v20210927(Sep 30, 2021)

    Changelog

    • #6883 - Welcome file redirects do not honor the relativeRedirectAllowed option
    • #6870 - Encode control characters in URIUtil.encodePath
    • #6869 - Correct Content-Type within HTML error pages
    • #6860 - IPv6 format
    • #6652 - Improve ReservedThreadExecutor dump
    • #6618 - ID token azp claim should not be required if aud is single value array
    • #6617 - Add basic auth support for OpenId token endpoint (client_secret_basic)
    • #6603 - HTTP/2 max local stream count exceeded
    • #6562 - HttpOutput.write(ByteBuffer buffer)
    • #6558 - Allow to configure return type in JSON array parsing
    • #6554 - Allow creation of DefaultIdentityService without realmName.
    • #6553 - Review usage of Authentication.UNAUTHENTICATED in SecurityHandler
    • #6535 - Non blocking ReservedThreadExecutor
    • #6520 - Error page has HTML error when writePoweredBy is enabled.
    • #6487 - Expose ServletHolder getter in ServletHandler$ChainEnd for auditing libraries to use

    Updated Dependencies

    • #6922 - Bump hawtio-default from 2.13.5 to 2.14.0
    • #6919 - Bump jamon.version from 2.81 to 2.82
    • #6906 - Bump google-cloud-datastore from 2.1.0 to 2.1.2
    • #6903 - Bump grpc-core from 1.40.1 to 1.41.0
    • #6865 - Bump jnr-unixsocket from 0.38.10 to 0.38.11
    • #6858 - Bump guice from 4.2.2 to 5.0.1
    • #6857 - Bump org.eclipse.osgi.services from 3.10.100 to 3.10.200
    • #6847 - Bump org.eclipse.osgi.util from 3.6.0 to 3.6.100
    • #6841 - Bump org.eclipse.osgi from 3.16.300 to 3.17.0
    • #6816 - Bump mariadb-java-client from 2.7.0 to 2.7.4
    • #6786 - Bump org.eclipse.osgi from 3.16.0 to 3.16.300
    • #6772 - Update to asm 9.2
    • #6746 - Bump hazelcast.version from 3.12.10 to 3.12.12
    • #6739 - Bump jmh.version from 1.26 to 1.33
    • #6671 - Update to apache jsp 8.5.70
    Source code(tar.gz)
    Source code(zip)
  • jetty-9.4.43.v20210629(Jul 7, 2021)

    Changelog

    • This release resolves CVE-2021-34429
    • #6473 - Improve alias checking in PathResource
    • #6470 - java.nio.ReadOnlyBufferException
    • #6447 - Deprecate support for UTF16 encoding in URIs
    • #6426 - Update to spifly 1.3.3
    • #6425 - Update to asm 9.1
    Source code(tar.gz)
    Source code(zip)
  • jetty-11.0.6(Jul 7, 2021)

    Changelog

    • This release resolves CVE-2021-34429
    • #6473 - Improve alias checking in PathResource
    • #6468 - Revert logic in Request.setMetaData & clear emptySegment on HttpUri.clear()
    • #6464 - Wrong files/lib definitions in certain *-capture.mod files?
    • #6447 - Deprecate support for UTF16 encoding in URIs
    • #6426 - Update to spifly 1.3.3
    • #6425 - Update to asm 9.1
    • #6418 - Bad and/or missing Require-Capability for osgi.serviceloader
    • #6410 - Ensure Jetty IO uses SocketAddress instead of InetSocketAddress
    • #6407 - Malformed scheme logical expression check in WebSocket ClientUpgradeRequest
    • #6394 - Review osgi manifests within Jetty 11
    • #6376 - Cleanups for SslClientCertAuthenticator.
    • #6375 - Always check XML Set elements with property attribute
    • #6353 - Rename EWYK The AdaptiveExecutionStrategy
    Source code(tar.gz)
    Source code(zip)
  • jetty-10.0.6(Jul 7, 2021)

    Changelog

    • This release resolves CVE-2021-34429
    • #6473 - Improve alias checking in PathResource
    • #6468 - Revert logic in Request.setMetaData & clear emptySegment on HttpUri.clear()
    • #6464 - Wrong files/lib definitions in certain *-capture.mod files?
    • #6447 - Deprecate support for UTF16 encoding in URIs
    • #6426 - Update to spifly 1.3.3
    • #6425 - Update to asm 9.1
    • #6418 - Bad and/or missing Require-Capability for osgi.serviceloader
    • #6410 - Ensure Jetty IO uses SocketAddress instead of InetSocketAddress
    • #6407 - Malformed scheme logical expression check in WebSocket ClientUpgradeRequest
    • #6394 - Review osgi manifests within Jetty 10
    • #6376 - Cleanups for SslClientCertAuthenticator.
    • #6375 - Always check XML Set elements with property attribute
    • #6353 - Rename EWYK The AdaptiveExecutionStrategy
    Source code(tar.gz)
    Source code(zip)
  • jetty-11.0.5(Jun 11, 2021)

    Changelog

    • #6392 - Review accidental xml config changes
    • #6379 - Reduce contention in all ByteBufferPool implementations
    • #6354 - org.slfj dependency imports packages at 2.0
    • #6329 - Regression on graceful shutdown default in Jetty 10
    • #6302 - Treat empty path segments are ambiguous.
    • #4772 - Jetty WebSocket API onMessage annotation does not support partial messages.
    Source code(tar.gz)
    Source code(zip)
A mod loader such as Forge aimed at PVP clients and QoL mods

Feather This is a small project that I intend to work on in my free time. It is a mod loader similar to fabric or forge, but aimed at only making PVP

quickdaffy 19 Sep 3, 2022
Tiny, easily embeddable HTTP server in Java.

NanoHTTPD – a tiny web server in Java NanoHTTPD is a light-weight HTTP server designed for embedding in other applications, released under a Modified

NanoHttpd 6.5k Jan 1, 2023
Command-line and graphical implementations of 2048 game and solvers.

2048 This is a simple 2048 game implemented both as a command-line interface and a graphical Java applet, with a couple of basic auto-solving algorith

Radon Rosborough 4 Sep 25, 2022
Server supporting the Signal Private Messenger applications on Android, Desktop, and iOS

Server supporting the Signal Private Messenger applications on Android, Desktop, and iOS

Signal 8k Jan 3, 2023
Opinionated libraries for HTTP&JSON-based RPC using Retrofit, Feign, OkHttp as clients and Jetty/Jersey as servers

Conjure Java Runtime (formerly http-remoting) This repository provides an opinionated set of libraries for defining and creating RESTish/RPC servers a

Palantir Technologies 76 Dec 13, 2022
Eclipse Foundation 3k Dec 31, 2022
GS Collections has been migrated to the Eclipse Foundation, re-branded as Eclipse Collections. https://www.eclipse.org/collections/

GS Collections is now Eclipse Collections We are pleased to announce that GS Collections has been migrated to the Eclipse Foundation, re-branded as Ec

null 1.8k Dec 30, 2022
GS Collections has been migrated to the Eclipse Foundation, re-branded as Eclipse Collections. https://www.eclipse.org/collections/

GS Collections is now Eclipse Collections We are pleased to announce that GS Collections has been migrated to the Eclipse Foundation, re-branded as Ec

null 1.8k Dec 30, 2022
Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.

Testcontainers Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium we

null 6.7k Jan 9, 2023
Gatling is a load test tool. It officially supports HTTP, WebSocket, Server-Sent-Events and JMS.

Gatling What is Gatling ? Gatling is a load test tool. It officially supports HTTP, WebSocket, Server-Sent-Events and JMS. Motivation Finding fancy GU

Gatling 5.8k Dec 27, 2022
Magician is an asynchronous non-blocking network protocol analysis package, supports TCP, UDP protocol, built-in Http, WebSocket decoder

An asynchronous non-blocking network protocol analysis package Project Description Magician is an asynchronous non-blocking network protocol analysis

贝克街的天才 103 Nov 30, 2022
QuickShell is an Eclipse plugin to use Java JShell inside the Eclipse IDE.

QuickShell is an Eclipse plugin to use Java JShell (REPL) inside Eclipse IDE. JDK 9+ is not installed on your system? No worries, you can still use Qu

Nilesh Khaire 8 Oct 3, 2022
A simple Project based on Jsp and Servlets and Hibernate.

Learning Management System in Java In this project, I have created a Simple Learning Management System which is based on Java server pages, Servlet &

Indranil Roy 1 Feb 2, 2022
Two Spring-boot applications registering themselves to an spring-boot-admin-server application as separate clients for the purpose of monitoring and managing the clients

Spring-boot-admin implementation with 1 Server and 2 clients Creating a Server application to monitor and manage Spring boot applications (clients) un

null 6 Dec 6, 2022
Simple JSP Servlets REST api.

Simple JSP Servlets REST api.

MisterFunny01 3 May 9, 2021
Simple springboot API for addressBook. Supports all REST controllers and have custom error handling for every specific case, also supports redis caching.

AddressBook-SpringBoot-API Simple Springboot API for addressBook with redis cache. Supports all REST controllers and have custom error handling for ev

Shirish Saxena 1 Jan 21, 2022
http-kit is a minimalist, event-driven, high-performance Clojure HTTP server/client library with WebSocket and asynchronous support

HTTP Kit A simple, high-performance event-driven HTTP client+server for Clojure CHANGELOG | API | current Break Version: [http-kit "2.5.3"] ; Publish

HTTP Client/Server for Clojure 2.3k Dec 31, 2022
MixStack lets you connects Flutter smoothly with Native pages, supports things like Multiple Tab Embeded Flutter View, Dynamic tab changing, and more. You can enjoy a smooth transition from legacy native code to Flutter with it.

中文 README MixStack MixStack lets you connects Flutter smoothly with Native pages, supports things like Multiple Tab Embeded Flutter View, Dynamic tab

Yuewen Engineering 80 Dec 19, 2022