1235 Commits

Author SHA1 Message Date
Jan Bartel
7b2e490036 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-12 22:24:17 +01:00
Greg Wilkins
de7e3001ef cleanup temp fix for #2046 2018-01-11 17:01:05 +01:00
Greg Wilkins
ec9827bb35 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-11 16:57:33 +01:00
Greg Wilkins
385ba7d70d Remove graceful handling from ManagedSelector stop #2046
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-11 10:29:27 +01:00
Greg Wilkins
7d9f2d7e64 Added info to TimeoutException
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-10 21:16:41 +01:00
Greg Wilkins
db3891f3d2 removed jmh dependency
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-10 17:00:07 +01:00
Greg Wilkins
7138dc3828
Jetty 9.4.x #1918 scalable scheduler3 (#2101)
* Scalable scheduler changes for #1918
* Added HttpChannel.destroy to destroy CyclicTimer
* fixed rebase with HttpConnectionOverFCGI
* renamed to acquire
* Destroying the HttpChannel consistently in all transports.
* updated headers
* cleanup after final review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-10 16:56:41 +01:00
Greg Wilkins
356bf2e06f
Issue #2046 - Graceful stop of connections (#2100)
* Clean up of actions (now updates) prior to #2046 fix
* prevent exceptions from termincating lifecycle doStop or destroy
* Refactored ManagedSelector stop to always close endpoints
* Fixed NPE if SelectorManager is already stopped
* refactored after review
* further simplifications after review
* Wait only for oshut endpoints
* Cleanup from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-09 20:36:41 +01:00
Joakim Erdfelt
d5a0878019 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-09 10:08:30 -06:00
Joakim Erdfelt
21365234f8 Issue #2108 - Updating license headers for year 2018 2018-01-09 09:44:41 -06: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
Joakim Erdfelt
067fc5d2d8 Issue #2108 - Upgrade licenses for 2018 2018-01-09 07:42:06 -06:00
Greg Wilkins
b2ff7c5cb8 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-08 21:30:12 +01:00
Greg Wilkins
41050cd8a4
Issue #2081 No idle timeout exception when dispatch is delayed (#2083)
Issue #2081 No idle timeout exception when dispatch is delayed
* Delegate the readtimeout handling to HttpChannel so that a delayed dispatch can be ended.
* Added unit test for delayed dispatch idle
* Now using HttpInput.onIdleTimeout() to fail the HttpInput, and then dispatching the request in case it has not been dispatched yet. This ensure consistent behavior independently of the value of HttpConfiguration.delayDispatchUntilContent.
* Fixed for both HTTP/1.1 and HTTP/2.
* Added tests for non-blocking reads.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-04 13:26:31 +01:00
Greg Wilkins
54c55b602f
ManagedSelector dump improvements from #1970 (#2062)
* ManagedSelector dump improvements from #1970

ManagedSelector dump improvements from #1970:
 + DumpKeys is now prepended to actions list so it is less likely to be delayed by a stuck/busy selector
 + Timestamps are included for actions and keys which may be separated by time
 + Race removed race for updating dumpKey list while it is being added to.

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

* moved utility timestamp format method to Log

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

* updates after review

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

* changes after review

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

* Issue #1970 - ManagedSelector dump improvements.

Code cleanups.

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

* Revert "Issue #1970 - ManagedSelector dump improvements."

This reverts commit 4febaf10dcdb7452c56c806f5ba2d56724d0e521.

* Fixed imports and other review feedback

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-02 11:13:24 +01:00
Greg Wilkins
12647f51e7 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-12-27 16:04:16 +01: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
Jan Bartel
78a2c8c6d2 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-12-06 15:46:49 +01:00
Simone Bordet
2067eac701 Issue #2003 - Do not submit blocking tasks as managed selector actions.
CreateEndPoint and DestroyEndPoint are now submitted directly to
the Executor, rather than being submitted as selector actions.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-02 00:28:20 +01:00
Jan Bartel
e06f5b3c3f Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-11-22 13:03:31 +01:00
Greg Wilkins
6ac4e770a6 Issue #1983 Warn on connection failures
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-22 11:08:20 +01:00
Simone Bordet
f672b7e932 Merged branch 'jetty-9.4.x' into 'master'. 2017-11-16 11:36:05 +01:00
Simone Bordet
131f46df64 Improved dump of ManagedSelector.
Now also dumping the actions.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-16 11:35:18 +01:00
Greg Wilkins
bb0f06fecc Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-11-14 18:15:55 +01:00
Simone Bordet
0f07c6518e
Issue #1970 - ManagedSelector loses selector thread (#1971)
* Issue #1970 - ManagedSelector loses selector thread.

Removed broken data structure ConcurrentStack (ABA problem).

Made ReservedThreadExecutor use a ConcurrentLinkedDeque
instead of ConcurrentStack.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-14 10:48:33 +01:00
Greg Wilkins
47d46ec60e
Issue #1924 - ManagedSelector livelock. (#1963)
* Issue #1924 - ManagedSelector livelock.

Alternate implementation that is count based rather than time based.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-14 10:27:04 +01:00
Simone Bordet
1fdb974a35 Merged branch 'jetty-9.4.x' into 'master'. 2017-11-08 22:47:56 +01:00
Simone Bordet
761dccd10c Now dumping also SelectionKeys that throw when accessed. 2017-11-08 22:47:16 +01:00
Simone Bordet
e244aad86e Merged branch 'jetty-9.4.x' into 'master'. 2017-11-08 22:44:20 +01:00
Simone Bordet
d1e5883ad4 Issue #1920 - Connect Timeouts with NonBlocking CreateEndPoint.
Made CreateEndPoint and DestroyEndPoint blocking.
2017-11-08 16:28:40 +01:00
Greg Wilkins
6fb7c9ec2e
Issue #1939 fair selector choice (#1937)
* Issue #1939 fair selector choice

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

* Issue #1939 removed address based heuristic for choosing selector

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

* Issue #1939 removed println

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

* Issue #1939 use lambda syntax sugar

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-04 00:22:45 +11:00
Simone Bordet
108d56707b Merged branch 'jetty-9.4.x' into 'master'. 2017-10-30 12:58:48 +01:00
Simone Bordet
6f8baff07d Fixes #1928 - Backport #1705 to jetty-9.3.x. 2017-10-30 12:56:34 +01:00
Simone Bordet
0142509975 Issue #1920 - Connect Timeouts with NonBlocking CreateEndPoint.
Reverted CreateEndPoint to be non-blocking, as
the real issue was determined to be #1924 instead.
2017-10-30 00:42:53 +01:00
Simone Bordet
333c22d670 Issue #1924 - ManagedSelector livelock.
* Actually using the MAX_ACTION_PERIOD value rather than a harcoded one.
* Waking up the selector outside the sync block.
2017-10-30 00:36:01 +01:00
Greg Wilkins
4fa2140d17 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-10-29 08:21:22 +11:00
Greg Wilkins
ab849e8cc5 Issue #1920 - Connect Timeouts with NonBlocking CreateEndPoint.
Added a LiveLock (BusyBlocking) test.
Modified ManagedSelector to fair share between actions and selecting
2017-10-28 14:55:40 +11:00
Simone Bordet
f59bb64e07 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-26 10:02:27 +02:00
Simone Bordet
9fd47fd383 Improved logging. 2017-10-26 10:01:49 +02:00
Simone Bordet
aca8f8a4b2 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-26 00:39:47 +02:00
Simone Bordet
bfaa2d536b Fixes #1920 - Connect Timeouts with NonBlocking CreateEndPoint.
Made CreateEndPoint a blocking task, because it calls into application
code via Connection.Listener, and for safety we assume it may be
blocking code, avoiding to stall the processing of NIO selected keys.
2017-10-26 00:21:51 +02:00
Greg Wilkins
2bd39c897d Issue #1912 refixed onOpen call for SSL leak 2017-10-26 09:08:21 +11:00
Simone Bordet
2cd04a1b17 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-25 11:03:17 +02:00
Simone Bordet
ce39d50a55 Fixes #1920 - Connect Timeouts with NonBlocking CreateEndPoint.
Only for the client having a non-blocking CreateEndPoint was a problem,
because it was sending requests from onOpen().
For a busy client with always queued requests, CreateEndPoint.run()
did never return, causing the NIO selection to stall.
2017-10-25 09:21:22 +02:00
Jan Bartel
84f69bdcc5 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-10-25 16:38:36 +11:00
Greg Wilkins
ce5993bc6f Issue #1920 Connect timeout
Improved the ManagedSelector Dump
Reverted CreateEndPoint to be a blocking task
2017-10-25 15:59:51 +11:00
Simone Bordet
50d3aa9333 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-23 17:37:54 +02:00
Simone Bordet
0519372382 Dumping the SelectionKeys is a non-blocking action. 2017-10-23 16:57:12 +02:00
Greg Wilkins
a210add95a Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-10-20 10:45:46 +11:00