Simone Bordet
ff341fb420
Issue #2313 - Dump HTTP/2 channel state.
...
Added HTTP/2 stream age to toString().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-12 11:30:00 +01:00
Simone Bordet
21bdb367fd
Fixes #2313 - Dump HTTP/2 channel state.
...
Dumping also HttpChannelOverHTTP2 when dumping the HTTP2Stream.
The channel is now stored as a field in HTTP2Stream rather than
as an attribute to save the attributes map allocation.
Consequently, IStream has now getter/setter for the property
"attachment" that is used to store the channel without having
a type dependency on HttpChannel.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-10 15:11:40 +01:00
Simone Bordet
5dea9b673e
Fixes #2291 - Expose HTTP/2 close reason in dumps.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-07 00:45:23 +01:00
Lachlan Roberts
a639ee9275
Resolved errorprone MissingOverride warnings #2206
...
`@Override` was added to methods which were missing the annotation #2206
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-01 13:59:25 +11:00
Greg Wilkins
0cb4f5629d
Jetty 9.4.x 1803 proposal 0+2 ( #2199 )
...
Merging this PR for #2199 as we currently think it is not worse than previous and the code base is definitely simpler. While JMH has shown significant benefits for this approach, we have yet been able to demonstrate them in full scale integration tests - however that is likely due to GC and thread pool issues dominating.
A `org.eclipse.jetty.http2.PEC_MODE` System property has been added to allow the EWYK scheduling to be disabled for HTTP/2 if need be.
* Implementation of #1803 proposal 2 - EITHER dispatch type for EWYK
* made code more readable
* increase small threadpools in tests for extra reserved thread
* clean up
* minor code simplifications
* Work in progress to simplify reserved thread pool
* use a single ReservedThreadPool built into the QueuedThreadPool
* fixed javadoc
* removed more old reserved thread references
* disable EWYK for h2
* fixes from review
* use EWYK for HTTP2
* Fixed javadocs, imports and QueuedThreadPool constructors.
* fix javadoc
* EWYK avoid unnecessary pendings
* after review
* fixed merge with jetty-threadpool.xml
* alternate EWYK implementations
* added jetty copyright headers
* Simplified EWYK code after review
* fixed bad merge
* Code cleanups.
* Improved Javadocs for deprecated property "reservedThreads".
* Improved Javadocs for deprecated property "reservedThreads".
* added a system property to enable only PEC for HTTP/2
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-27 14:29:59 +11:00
Simone Bordet
c7c85a9a01
Removed unused test class.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-22 15:25:32 +01:00
Simone Bordet
8a6b33a3e8
Fixes #2190 - HTTP/2 close and GOAWAY behavior.
...
Now the receiver of a GOAWAY also replies with a GOAWAY
before closing the connection.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-09 10:55:39 +01:00
Greg Wilkins
ab5fc29cca
Jetty 9.4.x 1803 proposal 0 - single ReservedThreadExecutor ( #2119 )
...
Issue #1803 - Review usage of scheduling strategies
Use a single ReservedThreadExecutor built into the QueuedThreadPool
via new interface TryExecutor.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-08 11:08:48 +01:00
Joakim Erdfelt
41ed9f29f4
Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x
2018-01-09 09:37:25 -06:00
Joakim Erdfelt
fa4c7b0ca9
Issue #2108 - Updating license headers for year 2018
2018-01-09 08:39:37 -06:00
Greg Wilkins
88cf4603c5
Merge branch 'jetty-9.4.x' into bugfix/javadoc_fixes_2056
2018-01-08 21:31:48 +01:00
olivier lamy
1a49a6fb7e
more javadoc fixes #2056
...
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-01-08 12:28:12 +11:00
olivier lamy
f07ea2bbf3
more javadoc fixes #2056
...
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-01-06 20:26:22 +11:00
Simone Bordet
e86e8a752c
Issue #1973 - Implement minimum response data rate ( #2012 )
...
* Code cleanups.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Improved test case handler.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Improved exception message.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Issue #1973 - Implement minimum response data rate.
Implemented response content data rate control in HttpOutput.
Introduced a WriteFlusher.Listener interface that produces events
for every flush(). These events are forwarded to the Connection
and from there to the HttpOutput so that the data rate control can
be enforced.
Both HTTP/1.1 and HTTP/2 are implemented.
Data rate control for HTTP/1.1 is approximate because it will count
also headers bytes and the chunk bytes, while for HTTP/2 is precise.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Issue #1973 - Implement minimum response data rate.
Addressed review comments.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-27 15:07:32 +01:00
Simone Bordet
f30c02fa45
Issue #2037 - HTTP/2 stream reset leaves stream frames in the flusher.
...
Simplified stream staleness checks.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-11 11:50:18 +01:00
Simone Bordet
d88e2b767f
Fixes #2037 - HTTP/2 stream reset leaves stream frames in the flusher.
...
Now waking up the flusher via iterate() after a reset has been received.
This ensures that frames that may have stalled are removed from the
flusher queue.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-11 10:57:13 +01:00
Simone Bordet
6b7f906f9d
Fixes #2034 - Improve HTTP2Session dump.
...
Now the session also dumps the flusher and all the streams.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-07 22:40:57 +01:00
Simone Bordet
22308e3c1d
Fixes #2035 - FlowControlStrategy keeps around reset streams.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-07 22:40:57 +01:00
Simone Bordet
158f90bc9e
Fixes #2033 - Improve HTTP/2 session and stream stall times report.
...
Now including both the past and the current stall times.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-07 19:21:47 +01:00
Joakim Erdfelt
ff53002fac
Updating to version 9.4.9-SNAPSHOT
2017-11-21 13:11:31 -07:00
Joakim Erdfelt
82b8fb23f7
Updating to version 9.4.8.v20171121
2017-11-21 12:33:52 -07:00
Jesse McConnell
a72eb0001d
Updating to version 9.3.23-SNAPSHOT
2017-10-30 15:39:57 -05:00
Jesse McConnell
705048cc49
Updating to version 9.3.22.v20171030
2017-10-30 15:16:29 -05: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
7e764bad3e
Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'.
2017-08-22 19:33:46 +02:00
Simone Bordet
f9ff9e1226
Issue #1759 - HTTP/2 producer can block in onReset.
...
Because now the failures are asynchronous, code that was executed after
invoking the failure listener must be now executed after the
asynchronous processing done by the listener and therefore Callbacks
are introduced.
2017-08-22 15:54:40 +02:00
Simone Bordet
64d5131a2a
Issue #1719 - Improve handling of HTTP/2 queued requests.
...
Since for HTTP/2 EWYK has been forced to run in PEC mode, we need the
onFillable() callback to be non blocking.
2017-08-14 11:08:57 +02:00
Simone Bordet
829fa4fe9b
Improved logging.
2017-08-11 16:48:06 +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
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
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 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