Commit Graph

17740 Commits

Author SHA1 Message Date
Simone Bordet 75893dac9c Fixes #4612 - ReservedThreadExecutor hangs when the last reserved thread idles out.
Explicitly removing the idled out thread from the stack,
rather than calling tryExecute().
Side benefit is that we are now removing idled out threads
that are least recently used.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-27 13:26:53 +01:00
Hirotaka Ikoma 65a22e5e80
Fix NPE in HouseKeeper.stopScavenging (#4604)
* Fix NPE in HouseKeeper.stopScavenging

Signed-off-by: Hirotaka Ikoma <hikoma@gmail.com>
2020-02-26 16:38:50 +01:00
Joakim Erdfelt 18f8752ad0
Merge pull request #4607 from eclipse/jetty-9.4.x-4606-DateCache-formatNow
Issue #4606 - fixing formatTick use of `now`
2020-02-26 07:23:34 -06:00
Joakim Erdfelt d082e54301
Issue #4606 - fixing formatTick use of `now`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-02-26 07:01:53 -06:00
Greg Wilkins 353dc9bf08
Issue #4550 XmlConfiguration argument matching (#4599)
* Issue #4550 XmlConfiguration argument matching

Improve argument matching by:
 + rejecting obviously non matches (with allowance for unboxing)
 + sorting methods so that derived arguments are tried before more generic (eg String before Object)

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

* Issue #4550 XmlConfiguration argument matching

Improve argument matching by:
 + can unbox from any Number to any Number

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

* Issue #4550

Do not check the assignability of the arguments.  Instead rely on the order of the methods.

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

* Issue #4550

unbox test no longer required

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

* Issue #4550

Simplified test

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

* Issue #4550

Cleanup comparator

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

* Issue #4550

Cleanup comparator

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-25 16:19:37 +01:00
Greg Wilkins 9bb6840658
Fixes #4577 IPAccessHandler in context (#4580)
* Fixes #4577 IPAccessHandler in context

Fixes and tests #4577 IPAccessHandler in context by using target instead of pathInfo for path matching.

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

* Tests #4577 IPAccessHandler target

Updates from review.

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

* Issue #4577 IpAccessHandler NPE

Match on full URI path rather than target.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-25 08:46:02 +01:00
Greg Wilkins 03359ec089
Tests #4594 ContextListener removed (#4595)
Remove ContextListeners from the destroy list when removed.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-22 10:43:36 +01:00
Joakim Erdfelt 9325a5bc16
Merge pull request #4596 from eclipse/jetty-9.4.x-4567-log-throwable-lastarg
Issue #4567 - Backport of StdErrLog 10.0.x for Throwable behavior change
2020-02-20 17:21:55 -06:00
Joakim Erdfelt 0e536407a9
Issue #4567 - Backport of StdErrLog 10.0.x for Throwable behavior change
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-02-20 13:45:40 -06:00
Joakim Erdfelt d453333a48
Issue #4567 - Backport of StdErrLog 10.0.x for Throwable behavior change
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-02-20 12:57:49 -06:00
Simone Bordet ea5b70ba37
Merge pull request #4553 from eclipse/jetty-9.4.x-4550-XmlConfiguration-named-args
Fixes #4550 XmlConfiguration named parameters
2020-02-20 11:25:00 +01:00
Simone Bordet 2958cb1d62
Merge pull request #4544 from eclipse/jetty-9.4.x-4541-OptimalLargeResponseHeader
Issue #4541 Large response header
2020-02-20 11:17:39 +01:00
Greg Wilkins 8c7861d210 fixed spelling
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-20 10:34:07 +01:00
Greg Wilkins a855744aeb release buffer in client as well
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-20 10:25:57 +01:00
Greg Wilkins b46b25b450 release buffer on overflow
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-19 22:38:58 +01:00
Greg Wilkins 0c8860f131 Sort the executables so that non varargs variants are tried before empty var args.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-19 19:35:52 +01:00
Greg Wilkins 9dd8a53a6d Work in progress on review comments
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-19 19:20:04 +01:00
Simone Bordet 01438e6f91 Code cleanup.
Changed the way the test directory was created: it was based on a
millisecond timestamp, but the tests run fast and it was possible that
two tests were creating the directory within the same millisecond.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-17 17:32:51 +01:00
Simone Bordet ed7f337856 Issue #4518 - Add a mechanism that allows running multiple protocols on the same port.
Made test methods public, so that they will work fine in JDK 11 and JPMS.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-02-17 00:53:44 +01:00
Simone Bordet 9f7a82b128
Merge pull request #4519 from lorban/composable-conn-factories
Fixes #4518 -  Add a mechanism that allows running multiple protocols on the same port.
2020-02-16 19:25:04 +01:00
Simone Bordet 7320b1de94
Merge pull request #4576 from eclipse/jetty-9.4.x-4575-stopping-reserved-threads
Fixes #4575 Stopping Reserved Thread
2020-02-16 17:25:15 +01:00
Greg Wilkins 652428ad70 Tests #4573 X-Forwarded ordering
Added tests for header ordering
fixed cut-and-paste error of _for to _host

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-16 11:04:34 +01:00
Greg Wilkins ab5005b9f7 Fixes #4575 Stopping Reserved Thread
Fixes #4575 Stopping Reserved Thread by removing the `isRunning` check
from `reservedWait`.  The main run loop is also simplified to improve
`isRunning` checks before the thread is put on the stack.  Javadoc
improved to explain each step.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-16 09:43:31 +01:00
Lachlan aaf6f17766
Merge pull request #4555 from eclipse/jetty-9.4.x-4537-WebSocketSpin
Issue #4537 - fix potential spin when discarding in WebSocketConnection
2020-02-13 09:14:06 +11:00
Olivier Lamy 602e700e02
use pmd plugin 3.13.0 (#4566)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-02-12 16:30:56 +10:00
Lachlan 636c6047ba
Merge pull request #4564 from SerCeMan/jetty-9.4.x
Improve performance of small websocket binary messages
2020-02-11 00:40:27 +11:00
Sergey Tselovalnikov 66f4bda2ea comments
Signed-off-by: Sergey Tselovalnikov <sergeicelov@gmail.com>
2020-02-10 21:02:36 +11:00
Sergey Tselovalnikov d371c1498c Improve performance of small websocket messages
Signed-off-by: Sergey Tselovalnikov <sergeicelov@gmail.com>
2020-02-10 20:07:33 +11:00
Lachlan Roberts 20621b76fb Issue #4537 - fix potential spin when discarding in WebSocketConnection
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-10 18:29:55 +11:00
Greg Wilkins f50c2654b9 Fixes #4541 Large Headers
Added a HEADER_OVERFLOW result as per review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-06 21:17:58 +01:00
Greg Wilkins 2c8d405b83 Fixes #4550 XmlConfiguration named parameters
Do not match a missing varArgs executable is there is a matching method with no varArgs.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-06 18:55:42 +01:00
Greg Wilkins d27f4ee556 Fixes #4550 XmlConfiguration named parameters
Fixed #4550 named parameters with a moderate refactor.
The named parameter matching was duplicated, only considering number of args and not applied to call arguments.    This refactor puts all the behaviour in common methods and reorders the arguments to match parameters.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-06 14:11:58 +01:00
Ludovic Orban 386d9348ca Use contants for CR and LF fields index
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-02-06 10:06:33 +01:00
Greg Wilkins 1b59e42294 Issue #4541 Large response header
Fix #4541 by initially allocated a header buffer of `min(_config.getResponseHeaderSize(), _config.getOutputBufferSize())`
Only allocate a buffer of `getResponseHeaderSize` if an overflow results.

This should have no effect on the majority of responses where `getOutputBufferSize` is greater than `getResponseHeaderSize` other than the cost of a min operation.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-05 10:29:41 +01:00
Greg Wilkins 13458ab515 Fixed bad format
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-02-04 16:29:58 +01:00
Ludovic Orban 5df1ad9b66 change the format of detector's generated protocol name
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-02-04 12:42:35 +01:00
Ludovic Orban 58b1db610c detectAndUpgrade() shortcut on empty buffer
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-02-04 10:49:27 +01:00
Ludovic Orban 37edc016d2 improve debug logs
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-02-04 09:21:41 +01:00
Ludovic Orban 75b4719592 Implement detector connection factory with protocol detection mechanism
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-02-03 16:56:53 +01:00
Jan Bartel ecd0fe97f7
Issue #4520 Reinstate throw of UnreadableSessionDataException (#4528)
* Issue #4520 Reinstate throw of UnreadableSessionDataException

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-02-01 11:13:58 +01:00
Greg Wilkins 4dbf8a3a9e
Issue #4495 ReservedThreadExecutor optimise (#4499)
* Issue #4495 ReservedThreadExecutor optimise

Use synchronousQueue for task handoff

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

* Issue #4495 ReservedThreadExecutor optimise

updates from review

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

* Issue #4495 ReservedThreadExecutor optimise

Use a linked queue rather than a deque(as a stack).  This should be simpler, better optimised and less contended.  Idling has been simplified so that a reserve thread is always dropped every idle period.

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

* Issue #4495 ReservedThreadExecutor optimise

reverted RTE and added a JMH benchmark

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

* More variants and longer tests

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

* Added LQ

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

* removed SQ2

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

* Issue #4495 ReservedThreadExecutor optimise

Replaced real implementation with SQ

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

* Issue #4495 RTE optimise

Removed alternate implementations

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

* Issue #4495 RTE optimise

updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-01-31 19:54:44 +01:00
Greg Wilkins b6f2fd2432
Issue #4529 Servlet in error page (#4530)
Added option for #4529 to control showing the servlet in an error page.
Error configuration really needs a module, but will add in 10 with a refactor.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-01-31 19:53:05 +01:00
Jesse McConnell 769cd9de69
Merge pull request #3364 from eclipse/jetty-9.4.x_maven_plugin_site
Issue #3247 Generate jetty-maven-plugin website
2020-01-31 07:14:24 -06:00
Greg Wilkins f88eb73a91
Issue #4533 Hard close from Dispatcher (#4534)
* Issue #4533 Hard close from Dispatcher

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

#4533 Do hard close from Dispatcher so response wrappers may intercept close.

* Issue #4533 Hard close from Dispatcher

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

#4533 improve test after review

* Issue #4533 Hard close from Dispatcher

Some renaming of methods to make it clear that softClose should only be used as part of sendError handling.  If softClose is used by other components, then sendError can be prevented from setting the error status.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-01-31 11:55:14 +01:00
Simone Bordet 1ee26ba736 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2020-01-30 12:09:35 +01:00
Simone Bordet 4139b67d8f Replaced references to branch 'master' with 'jetty-9.3.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-30 11:32:37 +01:00
Simone Bordet 7746be770a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2020-01-30 10:17:10 +01:00
Simone Bordet f52ed62f36 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2020-01-30 10:09:34 +01:00
Simone Bordet 305e4609b2 Updated ALPN version for JDK 8u241 and 8u242.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-30 10:03:38 +01:00
Jan Bartel 9850c29839
Issue #4247 use context default for samesite cookie attribute (#4512)
* Issue #4247 use context default for samesite cookie attribute

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-01-29 11:05:35 +01:00