Commit Graph

306 Commits

Author SHA1 Message Date
Joakim Erdfelt 9e2aeda052 Updating to version 9.3.19-SNAPSHOT 2017-04-06 07:47:53 -07:00
Joakim Erdfelt 63273aa40b Updating to version 9.3.18.v20170406 2017-04-06 06:31:02 -07:00
Greg Wilkins f06c7c358f Fixes #1440
Improve low resource solution for scheduling strategy.

Replaced the dual scheduling strategy with a single re-implementation of EatWhatYouKill
that can adapt to act as ProduceConsume, ExectureProduceConsume or ProduceExecuteConsume
as need be.

Squashed commit of the following:

commit 25eeb32181
Author: Greg Wilkins <gregw@webtide.com>
Date:   Sat Apr 1 09:08:49 2017 +1100

    renamed variables

commit 4f370d84ca
Merge: 8159c50 823cbe1
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Mar 31 11:54:26 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit 8159c508f0
Merge: 5805a92 daf61cd
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 30 17:28:00 2017 +1100

    Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x-ewyk

commit daf61cd294
Author: Denis Nedelyaev <denvned@gmail.com>
Date:   Thu Mar 30 04:15:32 2017 +0300

    Fix memory leak in GzipHandler (#1429)

    Looks like this leak shows itself only with asynchronous responses.

    Some relevant info: http://www.devguli.com/blog/eng/java-deflater-and-outofmemoryerror/

    Signed-off-by: Denis Nedelyaev <denvned@gmail.com>

commit 5805a92d0e
Merge: cfabbd2 dc759db
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 30 17:12:38 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit cfabbd2341
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 30 16:04:57 2017 +1100

    minor cleanups

commit c7aa64aa10
Merge: bacf51a 18f17ac
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 30 14:58:37 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit bacf51a83d
Merge: 11ba4bc 2fafa1d
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 30 14:13:36 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit 11ba4bc849
Merge: 69003d3 1a0b2df
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 30 13:48:09 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit 69003d3dd9
Merge: f89b08d a8ff18d
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 30 12:35:27 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit f89b08d08a
Merge: 7a87c8e 00b42ca
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 23 16:01:00 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit 7a87c8ec9d
Merge: 1a92015 12dc169
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 23 10:27:14 2017 +1100

    Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-ewyk

commit 1a92015471
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Mar 21 09:23:53 2017 +1100

    better spruious wakeup handling and other simplifications

commit c01a910b69
Merge: 0b2b9ea 67ec4b0
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Mar 17 14:59:37 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit 0b2b9ea187
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Mar 17 14:52:49 2017 +1100

    cleanup

commit c1d92ebde6
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Mar 17 13:41:45 2017 +1100

    Fixed push

commit d2d6bc3e65
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Mar 17 12:18:03 2017 +1100

    minor cleanups

commit c1a159b7a9
Merge: 01349ac 78f4712
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Mar 17 09:30:44 2017 +1100

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-ewyk

commit 01349ac935
Merge: 4dc1503 08f351b
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Mar 17 08:16:06 2017 +1100

    Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-ewyk

commit 4dc15032ba
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 16 23:26:59 2017 +1100

    work in progress

commit 5d18c654b8
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 16 22:05:03 2017 +1100

    work in progress

commit d52a09a6cd
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 16 18:03:16 2017 +1100

    work in progress

commit c097db32e7
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 16 15:59:29 2017 +1100

    Experiement enhancement to EatWhatYouKill ExecutionStrategy

    Use the existence of a pending producer threads to determine if low resources or not.
2017-04-01 09:18:37 +11:00
Joakim Erdfelt 1360b863dc Updating to version 9.4.4-SNAPSHOT 2017-03-17 10:53:54 -07:00
Joakim Erdfelt 95e94b49d8 Updating to version 9.4.3.v20170317 2017-03-17 09:54:58 -07:00
Joakim Erdfelt a6a0ab991f Updating to version 9.3.18-SNAPSHOT 2017-03-17 09:48:19 -07:00
Joakim Erdfelt 307d23975e Updating to version 9.3.17.v20170317 2017-03-17 09:07:39 -07:00
Greg Wilkins 9ccf0a5337 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-03-09 16:39:30 +11:00
Greg Wilkins 2219863c11 Issue #1340 Consistent optional use of query string in PushCacheFilter 2017-03-09 16:24:31 +11:00
Joakim Erdfelt 523fab30bd Updating to version 9.4.3-SNAPSHOT 2017-02-20 08:13:31 -07:00
Joakim Erdfelt 4a674b9cc9 Updating to version 9.4.2.v20170220 2017-02-20 06:22:45 -07:00
Simone Bordet 7e7459d825 Fixes #612 - Support HTTP Trailer.
Implemented support in the generic HttpChannel and Request classes.
Linked HTTP/1.1 and HTTP/2 trailers to call HttpChannel, so that trailers
are now available in Servlet APIs by casting to Jetty's Request class.
The semantic is that trailers will only be available _after_ reading
the request content.
2017-01-30 15:17:59 +01:00
Jesse McConnell d0c33ebe8b Updating to version 9.4.2-SNAPSHOT 2017-01-20 10:49:06 -06:00
Jesse McConnell 556ecbcdcf Updating to version 9.4.1.v20170120 2017-01-20 09:47:53 -06:00
Jesse McConnell 66b43ecda8 Updating to version 9.3.17-SNAPSHOT 2017-01-20 09:33:43 -06:00
Jesse McConnell df03355d00 Updating to version 9.3.16.v20170120 2017-01-20 09:06:48 -06:00
Simone Bordet 0c8273f2ca Happy New Year 2017. 2017-01-19 19:26:41 +01:00
Simone Bordet 07838b057f Happy New Year 2017. 2017-01-19 18:54:03 +01:00
Simone Bordet 347c48d657 Revert "resolve merge and update license headers"
This reverts commit 53b31b03dd, reversing
changes made to 4565c186d7.
2017-01-19 18:26:43 +01:00
Jesse McConnell 53b31b03dd resolve merge and update license headers 2017-01-19 09:33:16 -06:00
Greg Wilkins df0f645aa4 fix #1248 2017-01-12 11:29:56 +11:00
Simone Bordet 95c7e78eaf Issue #1220 - PushCacheFilter does not add the context path to pushed resources.
Now taking into account the context path to cache and push resources.
2017-01-05 16:32:41 +01:00
Simone Bordet c018eb5b92 Issue #1209 - IllegalStateException when HTTP/2 push is disabled.
Skipping filter logic when HTTP/2 push is disabled.
2016-12-31 12:19:46 +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 dd3a73e57a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-12-14 11:19:49 +01: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
Jesse McConnell 6a7e5dd4f5 Updating to version 9.4.1-SNAPSHOT 2016-12-08 09:41:50 -06:00
Jesse McConnell c54efb5929 Updating to version 9.4.0.v20161208 2016-12-08 08:56:45 -06:00
Jesse McConnell 19333b8b3b Merge branch 'jetty-9.4.x' into release-9.4.0 2016-12-08 08:50:15 -06:00
Simone Bordet a721e8b25d Fixes #1148 - Support HTTP/2 HEADERS trailer. 2016-12-08 10:08:56 +01:00
Jesse McConnell f8338b3f59 Updating to version 9.4.1-SNAPSHOT 2016-12-07 10:32:41 -06:00
Jesse McConnell dac1d17a2d Updating to version 9.4.0.v20161207 2016-12-07 09:47:30 -06:00
Simone Bordet e78c117c01 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-14 22:30:08 +01:00
Simone Bordet 5e5d6913e6 Fixes #1099 - PushCacheFilter pushes POST requests. 2016-11-14 22:28:27 +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
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
Greg Wilkins 4eca898ab0 fixed race in test 2016-10-05 16:20:45 +11: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 a292ef0652 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 15:52:18 +02:00
Simone Bordet 4fcf22a2c5 Fixes test after the changes for #960. 2016-09-26 15:51:25 +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 5ec60a30ed Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 16:44:39 +02: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 6f20feddcb Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-12 14:57:47 +02: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
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
Simone Bordet 823ba4add6 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-21 18:15:38 +02:00
Simone Bordet 6a15bbfb2b Issue #751 - Remove usages of ArrayQueue. 2016-07-21 17:55:48 +02:00
Simone Bordet 9c472f959a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-14 16:19:18 +02:00
Simone Bordet 7172127236 Fixes #694 - http2.client.StreamResetTest.testServerExceptionConsumesQueuedData stack not suppressed in test 2016-07-14 16:18:55 +02:00
Simone Bordet d976b4d36a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-14 12:44:15 +02:00
Simone Bordet 2387d973ec Made test more robust on slower machines. 2016-07-14 12:43:33 +02:00
Greg Wilkins 34a9e43c50 restored long test timer 2016-07-14 15:17:50 +10:00
Simone Bordet 2954ef0fd8 Merge branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-13 20:10:08 +02:00
Simone Bordet 811549a06b Made test more robust on slower machines. 2016-07-13 20:06:42 +02:00
Jan Bartel 6628a42d5d Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-07-13 15:32:03 +10:00
Greg Wilkins cb42ffc706 improved test timeouts 2016-07-13 15:23:46 +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
Greg Wilkins 66ce47923e Issue #572 Ignore failing test pending further analysis 2016-06-03 09:08:44 +10:00
Greg Wilkins 98c328fb23 Jetty 9.4.x 572 (#614)
* Issue #572 Scheduling Strategy Deadlocks

Implemented dual strategy idea from #572 discussion

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* fixed http2 strategy choice

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* code cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* clean up seelctor actions/products

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* cleanups
2016-06-03 09:07:00 +10:00
Simone Bordet b912c700ee Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-25 19:27:46 +02:00
Simone Bordet f3a805887e Fixes #542 - Support Connection.Listener bean on clients.
Introduced ClientConnectionFactory.customize() to look for
Connection.Listener beans.
ClientConnectionFactory implementation calls customize() when they
create a Connection instance, so the Connection.Listener beans are
registered onto the Connection.
2016-05-25 19:27:08 +02:00
Simone Bordet 016a7b72a1 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-24 16:10:00 +02:00
Simone Bordet ddddc3a675 Fixes #574 - Introduce a TLS handshake completed listener.
Introduced class SslHandshakeListener that can be registered as a
bean in both the ServerConnector and in clients such as HttpClient
and HTTP2Client.

When creating SslConnection instances, the factory will query the
connector (client or server) for SslHandshakeListener beans and, if
present, will be added to the SslConnection.
2016-05-24 16:09:19 +02:00
Simone Bordet b879b58909 Removed @Ignore from test. 2016-05-20 11:20:29 +02:00
Simone Bordet ee11e65a8a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-20 11:18:23 +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 54ae36f8f1 Temporarily ignoring test.
The test fails because it hangs on session flow control window
exhaustion. Setting the session flow control window to large values
makes the test fail in a different way. Needs review.
2016-05-20 01:21:36 +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 2a4cbdd111 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-12 00:22:31 +02:00
Simone Bordet 016fc6569f Fixes #558 - HTTP/2 server hangs when thread pool is low on threads.
Modified ExecuteProduceConsume to test for Rejectable tasks when
trying to execute a task in low threads mode, and if so, reject them
immediately.
2016-05-12 00:13:35 +02:00
Simone Bordet d8961139f3 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-11 13:57: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 19c63703ea Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-07 14:50:56 +02:00
Simone Bordet c14833a7f1 Fixes #552 (Improve HTTP/2 idle timeout handling)
Made sure that the stream idle timeout is reset for every stream read
and write.
Made sure that both the stream and the session idle timeouta are reset
for buffered data reads.
2016-05-07 14:45:34 +02:00
Simone Bordet a37fdcd0e2 Fixes #514 - Allow ExecutionStrategy to be configurable.
Introduced setters and constructor parameters to components that use
ExecutionStrategy.
2016-04-14 12:28:52 +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
Joakim Erdfelt c68d3b1d8d Updating to version 9.3.9-SNAPSHOT 2016-03-14 09:07:52 -07:00
Joakim Erdfelt 1f3b3f31f4 Updating to version 9.3.8.v20160314 2016-03-14 08:30:20 -07:00
Greg Wilkins d1fc5eb67d Revert "Issue #346 HttpParser RFC2616 Compliance mode"
This reverts commit 58e5a54ab6.
RFC7430 allows empty header values
2016-03-05 11:03:32 +01:00
Greg Wilkins 58e5a54ab6 Issue #346 HttpParser RFC2616 Compliance mode
Ignore headers without values.
2016-03-05 11:03:11 +01:00
Simone Bordet bd62320285 Issue #360 (Improve HTTP/2 stream interleaving)
Fixed by making the interleave quantum be the frame size rather than
the flow control window size.

Reworked HTTP2Flusher.process() to be simpler and properly
interleave frames.
2016-02-29 18:45:30 +01:00
Simone Bordet 2c11372bc4 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-29 17:17:09 +01:00
Simone Bordet cec3694355 Consistently using BufferUtil, especially clearToFill() and
flipToFlush().
2016-02-29 16:31:38 +01:00
Simone Bordet b8fcc5112f Issue #372 (Data race in HttpReceiverOverHTTP2)
Fixed implementations of onData() to properly complete the callback
and to copy the data if they use it asynchronously.
2016-02-29 14:39:27 +01:00