245 Commits

Author SHA1 Message Date
Jesse McConnell
53b31b03dd resolve merge and update license headers 2017-01-19 09:33:16 -06:00
Simone Bordet
732277c002 Converted IOException to EofException in case of client close or reset.
It's common for a client to either close the connection or reset a
stream, so EofException is a better exception to report since it will
be logged at DEBUG level by the server, reducing the noise in the logs.
2017-01-18 10:41:01 +01:00
Joakim Erdfelt
7494914ff6 Updating to version 9.3.16-SNAPSHOT 2016-12-20 13:09:32 -07:00
Joakim Erdfelt
680ecd646b Updating to version 9.3.15.v20161220 2016-12-20 12:31:58 -07:00
Simone Bordet
07c9bc5a51 Fixes #1169 - HTTP/2 reset on a stalled write does not unblock writer thread.
The fix notifies the transport when a reset frame is received,
allowing the transport to fail the write callback which then notifies
the application, either by throwing (in case of blocking writes) or
by calling error listeners.

Also added a guard, in HttpChannel.handle() for the ERROR_DISPATCH case,
that checks if the response is already committed, and if so, abort
the transport - similar to what's already there for 9.4.
2016-12-14 11:07:00 +01:00
Joakim Erdfelt
2c38511828 Updating to version 9.3.15-SNAPSHOT 2016-10-28 13:01:34 -07:00
Joakim Erdfelt
14611d2f76 Updating to version 9.3.14.v20161028 2016-10-28 12:21:02 -07:00
Simone Bordet
5ad8f2a777 Guarded against NPE if the channel is not associated with the stream. 2016-10-27 16:45:12 +02:00
Simone Bordet
33eb768d69 Fixes #1029 - Restore Request.setHttpVersion().
Also cleaned up the asymmetry in MetaData between the setter
(setHttpVersion()) and the getter (getVersion()).
2016-10-25 15:45:29 +02:00
Joakim Erdfelt
ade14ba34b Updating to version 9.3.14-SNAPSHOT 2016-10-14 11:33:51 -07:00
Joakim Erdfelt
c3a78e70a8 Updating to version 9.3.13.v20161014 2016-10-14 10:39:37 -07:00
Jesse McConnell
863913b64e set for dev 2016-09-30 19:05:47 +00:00
Jesse McConnell
b91cc8a4ea set for release 2016-09-30 18:01:20 +00:00
Simone Bordet
0f97c3df5d Fixes #966 - Remove usages of ConcurrentArrayQueue. 2016-09-28 11:40:39 +02:00
Simone Bordet
74b86bad35 Fixes #960 - Async I/O spin when reading early EOF.
AsyncIOServletTest is now testing HTTP/1.1 and HTTP/2 transports.
2016-09-26 11:49:57 +02:00
Simone Bordet
4edc50b59f Fixes #948 - 9.4.0.RC0 jetty-distribution invalid config etc/jetty-http2c.xml.
Updated references to deprecated property initialStreamSendWindow
with initialStreamRecvWindow.
2016-09-22 21:48:08 +02:00
Joakim Erdfelt
6cf10172ca Updating to version 9.3.13-SNAPSHOT 2016-09-15 07:34:52 -07:00
Joakim Erdfelt
8b35fdc5a5 Updating to version 9.3.12.v20160915 2016-09-15 06:48:16 -07:00
Simone Bordet
aa00e4207d Issue #922 - Implements methods Connection.getBytes[In|Out]().
Implemented for HTTP/2.
2016-09-14 14:04:23 +02:00
Simone Bordet
6d485b2777 Fixes #902 - Expect: 100-Continue does not work with HTTP/2.
Improved handling of the 100 status code in both client and server.
2016-09-06 12:01:24 +02:00
Simone Bordet
705a68dfc4 Issue #845 - Improve blocking IO for data rate limiting.
Moved tests to run HTTP and HTTP/2 tests, and added more test cases.
2016-09-05 19:13:05 +02:00
Greg Wilkins
3d93d39b39 Issue #845 data rate limits
Initial thoughts
2016-08-16 16:24:14 +10:00
Simone Bordet
9f9e9ecaf9 Changes for Issue #824 (#825)
* Issue #824 - Implement notifications of asynchronous error conditions for HTTP/2.

Introduced new method HttpChannelState.asyncError() to be called in
case of asynchronous errors, i.e. those errors that do not happen in
the HttpChannel.handle() loop.

Implemented HTTP/2 callbacks to call HttpChannelState.asyncError()
and plug in the existing error handling mechanism.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Issue #824 - Implement notifications of asynchronous error conditions for HTTP/2.

Improved implementation to ignore idle timeouts for streams and
session in case that requests are being handled, matching the HTTP/1.1
behavior.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2016-08-12 11:02:52 +02:00
Simone Bordet
5073ba4787 Fixes #826 - Better default for HTTP/2's max concurrent streams.
Defaulted to 128 max concurrent streams.
2016-08-09 16:02:34 +02:00
Joakim Erdfelt
2830e51e04 Merge branch 'jetty-9.3.x' into release-9.3.11 2016-07-28 12:20:36 -07:00
Greg Wilkins
e53ea55f48 Issue #752 SETTINGS_MAX_HEADER_LIST_SIZE
Defined missing status codes (removed old/wrong javadoc)
Changed use of 413 to 431
Received SETTINGS_MAX_HEADER_LIST_SIZE is set on hpack encoded and warning generated only for large responses.
2016-07-23 12:17:50 +10:00
Joakim Erdfelt
6e1b1cdb36 Updating to version 9.3.12-SNAPSHOT 2016-07-21 19:07:19 -07:00
Joakim Erdfelt
9fd6d4354e Updating to version 9.3.11.v20160721 2016-07-21 18:37:09 -07:00
Greg Wilkins
849d51c07d Issue #752 - Implement support for HTTP2 SETTINGS_MAX_HEADER_LIST_SIZE.
Reverted to warning if a small SETTINGS_MAX_HEADER_LIST_SIZE. is received.
Setting it on the httpConfig effects all connections, not just the one the
setting was received from.
2016-07-22 09:52:52 +10:00
Simone Bordet
088dc036b4 Fixes #752 - Implement support for HTTP2 SETTINGS_MAX_HEADER_LIST_SIZE. 2016-07-21 19:12:10 +02:00
Simone Bordet
78d27c9a28 Fixes #755 - NPE in HttpChannelOverHTTP2.requestContent().
Fixed by recycling only channels that have completed normally by
having read the request content and responded.

Channels that don't read the request content won't be recycled, thus
avoiding the NPE.
2016-07-21 17:43:14 +02:00
Greg Wilkins
2db91a88cf HTTP2 SETTINGS_MAX_HEADER_LIST_SIZE #752 2016-07-21 12:28:32 +10:00
Jesse McConnell
ae931538ab [maven-release-plugin] prepare for next development iteration 2016-06-22 13:59:10 -05:00
Jesse McConnell
df1ed4fb03 [maven-release-plugin] prepare release jetty-9.3.11.M0 2016-06-22 13:59:06 -05:00
Jesse McConnell
030ec61837 [maven-release-plugin] prepare for next development iteration 2016-06-22 09:14:25 -05:00
Jesse McConnell
9a4cb41122 [maven-release-plugin] prepare release jetty-9.3.11.M0 2016-06-22 09:14:21 -05:00
Jesse McConnell
e7034117ea [maven-release-plugin] prepare for next development iteration 2016-06-21 08:50:13 -05:00
Jesse McConnell
16c435c69d [maven-release-plugin] prepare release jetty-9.3.10.v20160621 2016-06-21 08:50:09 -05:00
Simone Bordet
6bf3607444 Fixed toString() NPE in case the stream is null. 2016-05-25 19:27:08 +02:00
Simone Bordet
c8c74da50a Issue #581 - Initial session recv window setting not working.
Updating the local session receive window before sending it to the client.
2016-05-20 11:17:50 +02:00
Simone Bordet
d55aaa4a0c Improved logging. 2016-05-20 01:12:24 +02:00
Jesse McConnell
dc4574f380 [maven-release-plugin] prepare for next development iteration 2016-05-17 17:30:17 -05:00
Jesse McConnell
0bbebec1e0 [maven-release-plugin] prepare release jetty-9.3.9.v20160517 2016-05-17 17:30:13 -05:00
Simone Bordet
dee3331ffb Issue #572 - Don't reject HTTP/2 requests without body in low threads mode.
* Made ProduceExecuteConsume the default ExecutionFactory for HTTP/2.
* Made the HTTP/2 fillable callback non-blocking.
* Introduced configuration for the server initial session recv window.
* Sending a WINDOW_UPDATE frame at session setup to inform the client
 about the server session recv window.
2016-05-16 15:01:08 +02:00
Simone Bordet
67ea8db5aa Always copy the request metadata.
This is necessary because the HTTP/1.1 machinery will recycle the
Metadata.Request object, and it may race with a thread dispatch to
the HTTP/2 machinery that will handle the request.
2016-05-16 15:01:08 +02:00
Simone Bordet
1fc40864e1 Issue #558 (HTTP/2 server hangs when thread pool is low on threads).
Verify that rejecting tasks avoids hanging the server when in low
threads mode.
2016-05-11 13:05:16 +02:00
Simone Bordet
8ac23d187a Added tests to verify input data consumption.
Verify that input data is consumed at the end of a request handling,
either when input is not read and when an exception is thrown,
to make sure that the session flow control is not stalled.
2016-05-11 13:05:16 +02:00
Simone Bordet
6827c5b045 Fixes #514 - Allow ExecutionStrategy to be configurable.
Introduced setters and constructor parameters to components that use
ExecutionStrategy.
2016-04-14 12:20:31 +02:00
Joakim Erdfelt
6fb338e50d Updating to version 9.3.9-SNAPSHOT 2016-04-11 16:20:50 -07:00
Joakim Erdfelt
bb4f3c4882 Updating to version 9.3.9.M1 2016-04-11 15:35:22 -07:00