283 Commits

Author SHA1 Message Date
Simone Bordet
4236f14955 Fixes #1891 - Make HTTP/2 async error notifications configurable.
Introduced HttpConfiguration.notifyRemoteAsyncErrors, true by default.
2017-10-12 12:13:02 +02:00
Joakim Erdfelt
d9865a02ba Updating to version 9.4.8-SNAPSHOT 2017-09-14 08:44:27 -07:00
Joakim Erdfelt
80fb788d0c Updating to version 9.4.7.v20170914 2017-09-14 07:35:18 -07:00
Simone Bordet
006dee439f Code cleanups.
Added TODOs to remember the link between the HTTP2Connection
fill callback and HTTP2ConnectionFactory.reservedThreads.
2017-09-08 10:52:40 +02:00
Simone Bordet
cd08d2502f Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-08-21 17:00:05 +02:00
Simone Bordet
f7925aebd2 Removed debug logging. 2017-08-21 12:12:26 +02:00
Simone Bordet
87d090e062 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-08-11 16:42:21 +02:00
Simone Bordet
d3d02f227e Fixes #1719 - Improve handling of HTTP/2 queued requests.
Idle timeout have a special meaning in that they become a no-operation
if the application is dispatched but idle (neither reading nor writing).

HttpChannelOverHTTP2 now forwards the idle timeout to HttpInput, which
will only change its state if it is interested in reading.

HttpInput.consumeAll() has been modified to consume all input even if
it's already failed.

Failures caused by the other peer (e.g. I/O failures or stream resets)
are now retained and will eagerly consumed any queued data to free up
the flow control windows.
2017-08-09 16:21:53 +02:00
Joakim Erdfelt
585f126b48 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x-clean 2017-08-08 09:24:41 -07:00
Greg Wilkins
a105be95e4 Issue #1637 Thread per HTTP/2 Connection
This fix simplifies the EWYK scheduler by factoring out the preallocated producer into a
ReservedThreadExecutor class.   A shared ReservedThreadExecutor can then be used by multiple
EWYK instances to avoid over allocation of threads.

Squashed commit of the following:

commit c435dc20e25bd274d69423be1be7b0565925f249
Merge: 58a5a9a 90e5b56
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Jun 21 10:48:22 2017 +0200

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

commit 58a5a9a655ee1a72a66f54ac8c95d7c9d73afe85
Author: Simone Bordet <simone.bordet@gmail.com>
Date:   Wed Jun 14 15:56:43 2017 +0200

    Code cleanups.

commit 4e5296216b52948523572352cba391438ff6b494
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Jun 14 07:34:58 2017 +0200

    refixed Producing to Reproducing

commit a1f8682f86d1f0803121162e3f14d7768286d3ed
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Jun 14 07:26:29 2017 +0200

    fixed Producing to Reproducing

commit 9468932e062d2271d8dc1d43a78544757732fff5
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 16:33:44 2017 +0200

    fixed javadoc

commit 9d4941eb97638fec09b3fe34d423538d17943b6f
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 16:05:27 2017 +0200

    Renamed Preallocated to ReservedThread

commit 6d3379ab64c6dcc2a7aa8ec7088afd77863816c2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 12:28:52 2017 +0200

    Added configuration in modules

commit 1bd1adea4682538e1546c2ae53f4c9340dafb3bb
Merge: 83418a9 6702248
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 10:09:29 2017 +0200

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

commit 83418a91320c8bfc54465ca02efdce0d2c874a0e
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Jun 13 10:08:35 2017 +0200

    javadoc

commit 62918fd39189fed3414fec4a7c8380c21e90a4b8
Author: Greg Wilkins <gregw@webtide.com>
Date:   Sat Jun 10 00:04:06 2017 +0200

    Improved EatWhatYouKill implementation

    Simplified by abstracting out PreallocatedExecutor
    Removed invocation execution
    HTTP2 now uses a shared PreallocationExcecutor between connection
2017-08-08 09:13:44 -07:00
Simone Bordet
88617b9233 Fixes #1595 - Avoid sending unnecessary stream WINDOW_UPDATE frames.
Now the flow control strategy checks whether the stream is already
remotely closed, and if so it does not send the window update.
2017-08-08 09:10:24 -07:00
Joakim Erdfelt
a7bcac6d75 Updating to version 9.3.20.v20170531 2017-08-08 09:07:35 -07:00
Joakim Erdfelt
11a544d6ac Updating to version 9.3.22-SNAPSHOT 2017-08-01 11:26:37 -07:00
Joakim Erdfelt
bb1d69ca52 Updating to version 9.3.21.M0 2017-08-01 10:47:04 -07:00
Joakim Erdfelt
6a3c40e935 Updating to version 9.4.7-SNAPSHOT 2017-05-31 17:26:34 -07:00
Joakim Erdfelt
8ba0f2d95d Updating to version 9.4.6.v20170531 2017-05-31 16:22:52 -07:00
Joakim Erdfelt
429380d36a Updating to version 9.3.21-SNAPSHOT 2017-05-31 16:10:04 -07:00
Joakim Erdfelt
0f3b1cbe36 Updating to version 9.3.20.v20170531 2017-05-31 15:24:57 -07:00
Simone Bordet
1ac103b6ce Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-05-17 13:16:21 +02:00
Simone Bordet
d53af5d737 Fixes #523 - TLS close behaviour breaking session resumption.
Since requests cannot be connection delimited, don't call
sslEngine.closeInbound() on the server.

On the client, added a configuration parameter to allow missing
TLS Close Message, since many servers do that.

Introduced SslConnection.allowMissingCloseMessage so that it
throws in case of truncation attacks.
2017-05-17 13:07:21 +02:00
Joakim Erdfelt
cf56168f7d Updating to version 9.3.20-SNAPSHOT 2017-05-02 15:26:56 -07:00
Joakim Erdfelt
d36d57d5c7 Updating to version 9.3.19.v20170502 2017-05-02 14:31:51 -07:00
Joakim Erdfelt
782f36f157 Updating to version 9.4.6-SNAPSHOT 2017-05-02 14:29:09 -07:00
Joakim Erdfelt
9d8ad7489c Updating to version 9.4.5.v20170502 2017-05-02 13:22:18 -07:00
Simone Bordet
8c26eddbc6 Fixes #1504 - Improve defaults for HTTP/2 flow control.
Defaults are now 16/8 MiB on the client, and 1/0.5 MiB on the server
for session/stream.
2017-04-26 10:43:54 +02:00
Joakim Erdfelt
92ea5bda21 Updating to version 9.4.5-SNAPSHOT 2017-04-14 14:43:36 -07:00
Joakim Erdfelt
3dc8f557c6 Updating to version 9.4.4.v20170414 2017-04-14 13:20:17 -07:00
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 25eeb32181549a39ef338b8858c20a534da91552
Author: Greg Wilkins <gregw@webtide.com>
Date:   Sat Apr 1 09:08:49 2017 +1100

    renamed variables

commit 4f370d84cab21db5d0489dcd622954853b992d70
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 8159c508f057573a20e803579e1d237083dad51c
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 daf61cd2942abe93e6f3d728e5220691d08a9372
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 5805a92d0ec968ab6f70d5acf3668954f14ddaba
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 cfabbd23413aaeb6158262efb4b45eabbe51daa5
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 30 16:04:57 2017 +1100

    minor cleanups

commit c7aa64aa1080cccabbffbc12cdd33b5ac7b867f6
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 bacf51a83d8e3b41c977ba3a713223e53bd3ce07
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 11ba4bc8497e746a8a62f1768c557f5606e85f2c
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 69003d3dd94b19197681d231729277fad33922a2
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 f89b08d08a6e67ce1e321db6fc58904c4e89969c
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 7a87c8ec9df9fea1884024624a5b14235889679f
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 1a92015471dd0e0334f5968c91a540c62a3d9638
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Mar 21 09:23:53 2017 +1100

    better spruious wakeup handling and other simplifications

commit c01a910b69c145568320f3f8ee138880fc26d8d1
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 0b2b9ea187b444ab9298069d7d46a989d8973d06
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Mar 17 14:52:49 2017 +1100

    cleanup

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

    Fixed push

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

    minor cleanups

commit c1a159b7a9f5e4b1eaea5c4d274427724307523c
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 01349ac93573d46f5c5bb31a590fa2b7a846cff0
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 4dc15032ba81c38670dfc42a34603caa6080c21c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Mar 16 23:26:59 2017 +1100

    work in progress

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

    work in progress

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

    work in progress

commit c097db32e7855cbe36fd269596716c4d44930cd9
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 53b31b03ddda3776f3db71e28e55312b1c982092, reversing
changes made to 4565c186d7491a97d72217a96e86b15ced506de6.
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