1
0
mirror of https://github.com/jetty/jetty.project.git synced 2025-03-02 11:59:17 +00:00

558 Commits

Author SHA1 Message Date
Joakim Erdfelt
5c130e400a Updating to version 9.4.43-SNAPSHOT 2021-06-04 12:49:12 -05:00
Joakim Erdfelt
5cd5e6d237 Updating to version 9.4.42.v20210604 2021-06-04 12:24:37 -05:00
olivier lamy
97a2a9993f bump to next version 9.4.42-SNAPSHOT
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2021-05-18 13:06:42 +02:00
Simone Bordet
2f19c67b41
Fixes - HTTP/2 max local stream count exceeded ()
* Fixes  - HTTP/2 max local stream count exceeded

Backported from Jetty 10 the "new stream" event so that the Stream can be set early on the client's `HttpChannelOverHTTP2`.
In this way, when a HEADERS frame stalled due to TCP congestion is failed, the corresponding Stream is closed and the connection released to the pool, fixing the "max stream exceeded" issue.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-04-29 09:30:23 +02:00
Joakim Erdfelt
241ca2c2a0 Updating to version 9.4.41-SNAPSHOT 2021-04-13 16:24:42 -05:00
Joakim Erdfelt
b881a57266 Updating to version 9.4.40.v20210413 2021-04-13 15:32:28 -05:00
Jesse McConnell
d23925809d
Updating to version 9.4.40-SNAPSHOT 2021-03-25 10:06:56 -05:00
Jesse McConnell
ee95f92d70
Updating to version 9.4.39.v20210325 2021-03-25 09:33:14 -05:00
Jesse McConnell
7dacf1503f
reset release to 9.4.39-SNAPSHOT 2021-03-25 09:03:35 -05:00
Jesse McConnell
be786489a8
reset release to 9.4.39-SNAPSHOT 2021-03-25 08:52:25 -05:00
Olivier Lamy
e0111e581a Updating to version 9.4.40-SNAPSHOT 2021-03-25 03:39:19 +00:00
Olivier Lamy
e56edccd03 Updating to version 9.4.39.v20210325 2021-03-25 03:20:25 +00:00
Joakim Erdfelt
5fed958e08 Updating to version 9.4.39-SNAPSHOT 2021-02-24 14:52:43 -06:00
Joakim Erdfelt
288f3cc745 Updating to version 9.4.38.v20210224 2021-02-24 14:16:09 -06:00
Joakim Erdfelt
ea2a76ed3b Updating to version 9.4.38-SNAPSHOT 2021-02-19 09:44:28 -06:00
Joakim Erdfelt
27afab2bd3 Updating to version 9.4.37.v20210219 2021-02-19 09:03:57 -06:00
Joakim Erdfelt
176e29e408
Happy New Year 2021
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-01-21 12:31:00 -06:00
Joakim Erdfelt
2e53ec5384 Updating to version 9.4.37-SNAPSHOT 2021-01-14 11:27:24 -06:00
Joakim Erdfelt
238ec6997c Updating to version 9.4.36.v20210114 2021-01-14 10:29:28 -06:00
Simone Bordet
eb00ac2dde Restored first-close-and-remove-then-notify ordering that was changed with the changes for .
This is important in tests that check that streams have been removed from sessions after counting down a latch in the notification.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-12-01 12:55:23 +01:00
Simone Bordet
68e70b47de
Merge pull request from eclipse/jetty-9.4.x-5310-http2_goaway
Review HTTP/2 GOAWAY handling
2020-11-26 11:29:44 +01:00
Joakim Erdfelt
e8683cba9f Updating to version 9.4.36-SNAPSHOT 2020-11-20 16:05:27 -06:00
Joakim Erdfelt
bdc54f03a5 Updating to version 9.4.35.v20201120 2020-11-20 15:05:50 -06:00
Simone Bordet
4093af1824 Issue 5310 - Review HTTP/2 GOAWAY handling.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-18 12:03:35 +01:00
Simone Bordet
dd9bdc7ac3 Fixes - Allow to configure HttpClient request authority.
Updated after review.
Added more tests.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-12 17:13:36 +01:00
Simone Bordet
96e4b38624 Fixes - Allow to configure HttpClient request authority.
Fixed initial session recv window update: it was wrong if the initial value was less than the default value (65535).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-12 17:13:17 +01:00
Simone Bordet
298ddfd722 Issue 5310 - Review HTTP/2 GOAWAY handling.
Fixed javadocs and TODOs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-10 17:38:05 +01:00
Simone Bordet
a02012fb3e Issue 5310 - Review HTTP/2 GOAWAY handling.
Fixed logic in onShutdown(): in case of abort the closing action must be
run as callback, so it executes at the end of all the other callbacks.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-10 16:17:32 +01:00
Simone Bordet
1de622f72f Issue 5310 - Review HTTP/2 GOAWAY handling.
Updates after initial review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-10 15:25:44 +01:00
Simone Bordet
226d616a8a Issue 5310 - Review HTTP/2 GOAWAY handling.
Reimplemented close/idle_timeout/stop/onGoAway/input_shutdown following more closely the specification.

In particular, the semantic of sending a GOAWAY is now to:
* stop creation of new both local and remote streams
* record the last processed stream
* continue processing streams that are pending

This means that a GOAWAY is "graceful" in the sense that it allows for streams to be completed by applications.

The semantic of stop() and idle timeout is harsher: for pending streams a RST_STREAM is sent to the other peer and they are failed locally.

Added support for GOAWAY with 2^31-1 lastStreamId.

Added support for a peer to send and receive multiple GOAWAY frames.

Reviewed the stream creation/destruction mechanism so that when the last stream completes after a GOAWAY, proper actions can be run to tear down the connection.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-10 10:07:19 +01:00
Simone Bordet
206050df7f Issue 5310 - Review HTTP/2 GOAWAY handling.
Refactored push code in a single place: HTTP2Session.push().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-10 09:56:32 +01:00
Simone Bordet
0dc2894002 Issue 5310 - Review HTTP/2 GOAWAY handling.
Refactored reset code in a single place: HTTP2Session.reset().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-10 09:56:32 +01:00
Simone Bordet
62e17da2d0 Issue 5310 - Review HTTP/2 GOAWAY handling.
Moved stream "close" event after returning from listener methods.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-10 09:56:32 +01:00
Joakim Erdfelt
edaadff55b Updating to version 9.4.35-SNAPSHOT 2020-11-02 09:04:51 -06:00
Joakim Erdfelt
e46af88704 Updating to version 9.4.34.v20201102 2020-11-02 08:03:51 -06:00
Joakim Erdfelt
e726eefb0b Updating to version 9.4.34-SNAPSHOT 2020-10-20 18:55:39 -05:00
Joakim Erdfelt
1be6875565 Updating to version 9.4.33.v20201020 2020-10-20 18:28:51 -05:00
Simone Bordet
8de2fbce49 Code cleanup, merging streams[Opened|Closed] from subclasses into HTTP2Session.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-18 13:01:40 +02:00
Joakim Erdfelt
85e257fc98 Updating to version 9.4.33-SNAPSHOT 2020-09-30 11:53:09 -05:00
Joakim Erdfelt
de97d26f7b Updating to version 9.4.32.v20200930 2020-09-30 11:03:24 -05:00
Simone Bordet
892a715bea Small javadocs fixes.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-10 13:35:06 +02:00
Simone Bordet
f81bf7f945
Fixes - Introduce HTTP/2 API to batch frames. ()
* Fixes  - Introduce HTTP/2 API to batch frames.

Introduced Stream.FrameList to hold HEADERS+DATA+HEADERS frames.
These are often used by the client and by the server when the
request/response content is known and FrameList will allow to
send them in a single TCP write, rather than multiple ones.

Rewritten HttpSenderOverHTTP2.sendHeaders() and
HttpTransportOverHTTP2.sendHeaders() to take advantage of
FrameList.

Now using ConcurrentHashMap as a client context, because
with DEBUG logging enabled it may be access concurrently.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-10 10:13:14 +02:00
Ludovic Orban
e9dad975e6 Re-implement HTTP connection pooling with a non-queuing algorithm
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-07-31 10:36:43 +02:00
Joakim Erdfelt
fe9deae849 Updating to version 9.4.32-SNAPSHOT 2020-07-23 13:53:47 -05:00
Joakim Erdfelt
450ba27947 Updating to version 9.4.31.v20200723 2020-07-23 12:46:54 -05:00
Simone Bordet
f2c6b67827
Fixes - Simplify Connection.upgradeFrom()/upgradeTo(). ()
Fixes  - Simplify Connection.upgradeFrom()/upgradeTo().

Now the upgrade-from connection produces a "floating" buffer 
(not belonging to a pool), so that it can release the original buffer.

The upgrade-to connection is free to copy or store this "floating" buffer.

Strengthened ByteBufferPool behavior when releasing non-pooled
ByteBuffers: the buffer is now discarded.

Updated javadocs and all implementations.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-06 22:45:03 +02:00
Simone Bordet
ae43b70a9f
Jetty 9.4.x 4967 buffer corruption for http2 failures ()
Fixes  - Possible buffer corruption in HTTP/2 session failures

Partially reverted the changes introduced in , because they
were working only when sends were synchronous.

Introduced ByteBufferPool.remove(ByteBuffer) to fix the issue.
Now when a concurrent failure happens while frames are being
generated or sent, the buffer is discarded instead of being
recycled, therefore resolving the buffer corruption.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-03 16:35:33 +02:00
Simone Bordet
c0481a5e5f
Issue - WINDOW_UPDATE for locally failed stream should not clos… ()
* Issue  - WINDOW_UPDATE for locally failed stream should not close the HTTP/2 session.

Improved HTTP2Session.onWindowUpdate() code to correctly check whether
the stream is already closed, and if so, just drop the WINDOW_UPDATE.
Refactored onResetForUnknownStream() to base class.
Other small refactorings to improve logging.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-06-18 15:23:51 +02:00
Joakim Erdfelt
6df6fa33b8 Updating to version 9.4.31-SNAPSHOT 2020-06-11 08:24:34 -05:00
Joakim Erdfelt
271836e4c1 Updating to version 9.4.30.v20200611 2020-06-11 07:21:18 -05:00