Commit Graph

3665 Commits

Author SHA1 Message Date
Greg Wilkins d9d8919e9a
Fix #6870 Encode control characters (#6874) (#6895)
Fix #6870 URIUtil.encodePath encodes control characters

* Better test for wider range of characters
* Encode all control characters

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-09-23 15:37:35 +10:00
Greg Wilkins 9a14de058d
Fix #6860 IPv6 Format (#6861) (#6885)
Fix #6860 IPv6 format by adding an extensible HttpChannel method

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2021-09-22 21:03:23 +10:00
Simone Bordet e2690cc420
Fixes #6603 - HTTP/2 max local stream count exceeded (#6639) (#6682)
* Fixes #6603 - HTTP/2 max local stream count exceeded (#6639)

Made MAX_CONCURRENT_STREAMS setting work on a per-connection basis.
Updated Pool javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
(cherry picked from commit 525fcb3119)
2021-09-01 10:27:40 +02:00
Lachlan Roberts 7569e4b07a Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-6566-WebSocketMessageSinks 2021-08-27 17:21:53 +10:00
Joakim Erdfelt c5a33e27d2
Issue #5684 - Windows test overhaul (#6581)
Issue #5684 - Window's test overhaul

+ Migrate from @DisabledOnOs(WINDOWS) to assumptions on capabilities instead.
+ Fix other outstanding windows testing issues.
+ Cleanup FileBufferedResponseHandlerTest expectations on Windows.
+ PathWatcher scan interval is variable on windows
+ If unable to start testcase based on assumption,
  the stop shouldn't fail testcase
+ Increase various wait timeouts
+ Make tests less strict due to system speed issues
+ Disable Sni tests due to TLS behaviors differences in Windows
  + Windows TLSv1.3 seems to introduce this difference
  + If we restrict to TLSv1.2 this passes.
  + On Linux TLSv.13 on client side will always return a
  + javax.net.ssl.SSLHandshakeException in those test cases that expect it.
  + However, on Windows, Only the TLSv1.2 implementation will return a javax.net.ssl.SSLHandshakeException,
  + All other TLS versions on Windows will result in a
  + javax.net.ssl.SSLException: Software caused connection abort: recv failed
+ Disable ConcurrentStreamCreationTest
  + Not possible to create all of these streams.
+ Fixing DeploymentTempDirTest
  + Using unique workdir per testcase.
  + Don't expect to delete files / directories between tests
    (not supported on windows due to file locking anyway)
 + Fixing line ending difference on windows
 + InvalidPathException is a 404 Not Found
 + Cannot reuse test directory between runs due to memory mapped files that are still in use from previous run.
 + java.nio.file.FileSystemException: C:\code\jetty.project\jetty-webapp\target\tests\welcome#\index.html: The requested operation cannot be performed on a file with a user-mapped section open.

	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
	at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235)
	at java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:478)
	at java.base/java.nio.file.Files.newOutputStream(Files.java:220)
	at org.eclipse.jetty.webapp/org.eclipse.jetty.webapp.WebAppDefaultServletTest.prepareServer(WebAppDefaultServletTest.java:84)

 + As is typical on windows, we are often unable to delete a file due to file locking issues.
 + Use a unique resource base between tests.
   This is to avoid file locking behaviors that prevent the
   resource base from being reused too quickly on windows.
 + Prevent test run if symlinks not supported
 + Allowing for Windows slosh char as well in asserts
 + SelectorUtils is File.separator dependent
 + Regex is now FS.separator independent
 + Using SelectorUtils from plexus correctly for include/exclude
 + Turning off mapped files for testing reasons.
 + Fix and re-enable RFC2616NIOHttpsTest
 + Issue #6552 - Fix test failures due to slf4j dep
 + Issue #6552 - upgrade testcontainers
 + Issue #6552 - move to assumption based docker existence
 + Issue #6552 - Fix enforcer rule violation on jna.
  Addresses the following side effect of upgrading testcontainers.

[WARNING] Rule 3: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message:
Failed while enforcing RequireUpperBoundDeps. The error(s) are [
Require upper bound dependencies error for net.java.dev.jna:jna:5.6.0 paths to dependency are:
+-org.eclipse.jetty:infinispan-remote-query:10.0.7-SNAPSHOT
  +-org.testcontainers:testcontainers:1.16.0
    +-com.github.docker-java:docker-java-transport-zerodep:3.2.11
      +-net.java.dev.jna:jna:5.6.0 (managed) <-- net.java.dev.jna:jna:5.8.0

 + use annotation to disable test when docker not available and needed
 + Disabling FileSessionDistributionTests.stopRestartWebappTestSessionContentSaved on Windows
 + Using TLS basic
 + Programmatic removal of memory mapped behavior during testing
 + Fixing slf4j warning

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-08-26 11:26:46 -05:00
Lachlan Roberts 83f2265653 Issue #6642 - never shutdown output after generating a request.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-26 14:18:28 +10:00
Simone Bordet 2689cf75d1
Fixes #6646 - Propagate callback invocation type to avoid deadlock in SmallThreadPoolLoadTest
Fixed occurrences of Callbacks that did not override getInvocationType() to properly declare whether they block or not.

Added test case for blocking writes for both client and server.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 9897c1b06e)
2021-08-26 09:28:33 +10:00
Simone Bordet e8beb58baf Fixes #6652 - Improve ReservedThreadExecutor dump. (#6653)
Fixes #6652 - Improve ReservedThreadExecutor dump.

Filtering out non-reserved threads in dump() and doStop().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
(cherry picked from commit b2a023675c)
2021-08-25 10:18:04 +02:00
Simone Bordet 9f896c6390 Fixes #6624 - Non-domain SNI on java17
Java 17 only allows letter|digit|hyphen characters for SNI names.

While we could bypass this restriction on the client, when the SNI bytes arrive to the server they will be verified and if not allowed the TLS handshake will fail.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 693663a4ce)
2021-08-19 13:56:29 +02:00
Lachlan Roberts 38a2d04d67 Add from(Callback) utility method in Callback.Completable
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-18 10:58:54 +10:00
Greg Wilkins a5b1845e60
Disable ipv6 test for #6624 (#6625) (#6629)
Temp disable of test that is breaking the build.
2021-08-17 16:15:00 +10:00
Ludovic Orban 7867d51c91 #6327 replace Await helper with awaitility
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Jan Bartel 90a72b0798
Issue #6556 Ensure context classloader set when operating on memcache. (#6557)
* Issue #6556 Ensure context classloader set when operating on memcache.

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-08-02 10:04:51 +10:00
Greg Wilkins 6201d3b107
Non blocking ReservedThreadExecutor (#6535) (#6559)
A call to offer must never block, nor even yield, since to do so give an opportunity for the allocated CPU core to change, defeating the whole purpose of the class.
There is also some reasonable level of diagnostic warnings if a reserved thread misses too many offers consecutively, based on tracking the state of the reserved thread.

Remove the stack data structure entirely.  ReservedThreads all poll the same SynchronousQueue and tryExecute does a non blocking offer.

Added test for busy shrinking

Remember last time we hit zero reserved threads

Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-07-30 09:08:36 +10:00
Ludovic Orban d8a890f71e #6541 improve testConcurrentAccess perf
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-07-29 11:11:54 +02:00
Ludovic Orban 9e047ab412 #6541 improve testTake perf
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-07-29 11:11:54 +02:00
Joakim Erdfelt fdc210f382
Remove unused imports
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-07-27 08:03:00 -05:00
Joakim Erdfelt 92b6f336b6
Merge pull request #6503 from eclipse/release-10.0.6
Merge Release 10.0.6
2021-07-07 08:21:20 -05:00
Greg Wilkins 8945a58ffc
Reduce header cache memory usage on non persistent requests (#6494)
Delay creating a header cache until a second request on a parser.
Refactored cache code into subclass

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-07-07 12:51:06 +10:00
Joakim Erdfelt c245a70893 Updating to version 10.0.7-SNAPSHOT 2021-06-29 10:51:22 -05:00
Joakim Erdfelt 37e7731b4b Updating to version 10.0.6 2021-06-29 10:27:56 -05:00
Lachlan 3c32afa05c
Issue #6473 - canonicalPath refactor & fix alias check in PathResource (Jetty-10) (#6478)
Issue #6473 - canonicalPath refactor & fix alias check in PathResource

* Reverted %-escape handling for URI query parts.
* Performing canonicalization in ServletContext.getResource(),
  and improving alias checking in ContextHandler.getResource().
* Performing canonicalization checks in Resource.addPath() to avoid
  navigation above of the root.
* Test added and fixed.
* Various cleanups.
* Improved javadoc and comments
* Compliance mode HttpURI uses UriCompliance.Violation

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
2021-06-29 15:42:39 +02:00
Lachlan d233f3be02
Issue #6447 - Deprecate support for UTF16 encoding in URIs (#6457)
Deprecate support for UTF16 encoding in URIs.
Add compliance mode to allow UTF16 encodings.
Improve testing.
2021-06-23 22:58:49 +10:00
Simone Bordet b8d6e3f010
Fixes #6410 - Use SocketAddress instead of InetSocketAddress. (#6414)
* Fixes #6410 - Use SocketAddress instead of InetSocketAddress.

Removed usages of InetSocketAddress in method signatures where possible.
Deprecated old methods, and added new methods with SocketAddress.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-17 10:18:08 +02:00
Greg Wilkins a415606e01
Rename EWYK The AdaptiveExecutionStrategy (#6353)
Rename EWYK to AdaptiveExecutionStrategy, which better represents the nature of the strategy.

Updated the documentation 
Refactored substrategy selection for code clarity.
Added notes about chaining strategies and thread starvation

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-16 17:22:08 +10:00
Joakim Erdfelt 9d2d1e29b7 Updating to version 10.0.6-SNAPSHOT 2021-06-11 09:42:42 -05:00
Joakim Erdfelt dc21b2d73c Updating to version 10.0.5 2021-06-11 09:18:00 -05:00
Jan Bartel 900c71902c
Issue #6327 Remove DisabledOnJre or test where appropriate (#6386)
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-10 21:26:16 +10:00
Joakim Erdfelt 987066aac1 Updating to version 10.0.5-SNAPSHOT 2021-06-04 13:28:47 -05:00
Joakim Erdfelt 5523480c54 Updating to version 10.0.4 2021-06-04 13:09:44 -05:00
Greg Wilkins e3faf81860
Fix #6114 Deploy symlink webapps (#6317)
* Fix #6114 Deploy symlink webapps

Use Path.toRealPath rather than getCanonicalPath in the Scanner
Make following symlinks configurable

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-06-04 15:10:54 +02:00
Greg Wilkins 0d71185e10
Fix #6305 Optimise isProtectedTarget (#6306)
* Fix #6305 Optimise isProtectedTarget

Fix #6305 Optimise isProtectedTarget by using case insensitive Index.

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

* Fix #6305 Optimise isProtectedTarget

updates from review

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

* Fix #6305 Optimise isProtectedTarget

updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-05-28 18:01:25 +10:00
Simone Bordet cfcb2efa80
Fixes #6276 - Support non-standard domains in SNI and X509. (#6296) (#6311)
* Fixes #6276 - Support non-standard domains in SNI and X509. (#6296)

Improved support for IP addresses in X509 (after #5379).
Introduced SslContextFactory.Client.SniProvider to allow applications to specify the SNI names to send to the server.
Improved logging of SNI processing.
Skip X509 matching over IP addresses when the host does
not look like an IP address, to avoid reverse DNS lookup.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 04df6d4ec2)
2021-05-24 16:57:57 +02:00
Simone Bordet 9ace21992e Updated POM versions to 10.0.4-SNAPSHOT.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-05-21 17:07:46 +02:00
Ludovic Orban 61f4dbecdc review comment: improve readability
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-05-19 09:38:28 +02:00
Ludovic Orban 0b97b8415b only release connection when channel got released to avoid double connection release race condition
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-05-19 09:38:28 +02:00
Simone Bordet b5b3874275 Fixes #6099 - Cipher preference may break SNI if certificates have different key types.
Updated the logic in SslContextFactory.Server.sniSelect(...) to check if there is
any certificate that matches, and if so return a null alias in the hope to be called
again and pick the right alias for the SNI.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 68296911b7)
2021-05-10 12:25:56 +02:00
Simone Bordet 1c34222415 Fixes #6159 - Jetty with Conscrypt unable to handle any HTTPS requests when connected by IP rather than hostname.
Added null guard for `ExtendedSSLSession.getRequestedServerNames()`
which should never return null, but it does when using Conscrypt.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-05-07 15:52:24 +02:00
Lachlan 4c98990cd9
Create FileBufferedResponseHandler to buffer responses into a file. (#6010)
FileBufferedResponseHandler adds an HttpOutput.Interceptor to buffer all responses into a file until the output is closed. This allows the commit to be delayed until the response is complete and thus headers and response status can be changed while writing the body.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-04-19 11:02:44 +10:00
Lachlan 8a10cd1615
Merge pull request #6094 from eclipse/jetty-10.0.x-WebSocketServerComponents
Do not store WebSocketComponents in Server scope.
2021-03-31 10:55:36 +11:00
Olivier Lamy a0796d1055 Updating to version 10.0.3-SNAPSHOT 2021-03-26 06:31:31 +00:00
Olivier Lamy 7bd207b309 Updating to version 10.0.2 2021-03-26 06:13:42 +00:00
Olivier Lamy d27363fa55 back to 10.0.2-SNAPSHOT
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-03-26 06:10:47 +00:00
Lachlan Roberts a86a0c2662 Add static utility methods on container to add and remove beans.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-26 11:11:45 +11:00
Jesse McConnell 7a9e01ac56
Updating to version 10.0.3-SNAPSHOT 2021-03-25 10:38:15 -05:00
Jesse McConnell aac6bfbd48
Updating to version 10.0.2 2021-03-25 10:21:44 -05:00
Simone Bordet 6fca106160 Reverted version to 10.0.2-SNAPSHOT.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-25 16:02:45 +01:00
Lachlan Roberts b51e40892d Fix lifecycle issues with WebSocketComponents and improve testing.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-26 00:07:57 +11:00
Olivier Lamy 3d0574d64c Updating to version 10.0.3-SNAPSHOT 2021-03-25 04:10:39 +00:00
Olivier Lamy ab235ad687 Updating to version 10.0.2 2021-03-25 03:57:25 +00:00
Greg Wilkins c1ae922ab0
Use Files.isSameFile to check Resource equality (#6093) (#6095)
Use Files.isSameFile to check Resource equality
Avoid using canonical and instead use Files.isSameFile

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2021-03-24 21:44:27 +01:00
Greg Wilkins c59de808f1
Fix #5835 Durable filters and servlets (#6027)
Fix #5835 Durable filters and servlets with a general ServletHandler cleanup
update indexes after updating mapping
update mappings/indexes before destroyed listeners

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-22 11:28:25 +01:00
Jan Bartel 56864bd43d
Issue #6020 Fix redeploy error jetty-maven-plugin (#6023)
* Issue #6020 Fix redeploy error jetty-maven-plugin

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-03-10 10:11:34 +01:00
Simone Bordet c2181ec566 Improvements to the Jetty documentation.
Added sections on server logging.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-09 19:19:50 +01:00
Simone Bordet 8de7b83966 Fixes #6034 - SslContextFactory may select a wildcard certificate during SNI selection when a more specific SSL certificate is present.
Now matching certificates are sorted, non-wildcard first, so that a more specific alias is returned.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-08 19:40:24 +01:00
Joakim Erdfelt 613e0ecd54
Issue #6021 - PoC for resolvePath within XmlConfiguration
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-03-02 14:40:36 -06:00
Simone Bordet bffa62af23 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-02-24 09:39:19 +01:00
Simone Bordet c9cd1e4758
Merge pull request #5995 from eclipse/jetty-9.4.x-5994-qtp_free_threads
Fixes #5994 - QueuedThreadPool "free" threads
2021-02-24 09:31:03 +01:00
Greg Wilkins 8bd4a9fad8
Fix #5999 ArrayIndexOutOfBounds for unicode in HttpURI segment (#6000)
Fixed ArrayTrie to not throw if passed a unicode character.
2021-02-23 20:03:45 +01:00
Simone Bordet 530c14e7b3 Issue #5994 - QueuedThreadPool "free" threads
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-02-23 18:12:55 +01:00
Simone Bordet 64e01beeeb Fixes #5994 - QueuedThreadPool "free" threads
Introduced to QueuedThreadPool:

* getMaxReservedThreads()
* getAvailableReservedThreads()
* getAvailableThreads()
* getReadyThreads()
* getLeasedThreads()

Also few small code cleanups.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-02-22 23:02:12 +01:00
Joakim Erdfelt 8ed8dc62e3 Updating to version 10.0.2-SNAPSHOT 2021-02-19 13:06:42 -06:00
Joakim Erdfelt d0bfd9145d Updating to version 10.0.1 2021-02-19 12:43:50 -06:00
Joakim Erdfelt ea2a76ed3b Updating to version 9.4.38-SNAPSHOT 2021-02-19 09:44:28 -06:00
Joakim Erdfelt 27afab2bd3 Updating to version 9.4.37.v20210219 2021-02-19 09:03:57 -06:00
Ludovic Orban 4cfe7b9e3b
Merge pull request #5953 from eclipse/jetty-10.0.x-5605-wakeup-blocked-threads
Jetty 10.0.x Fix #5605 Unblock non container Threads
2021-02-17 14:46:56 +01:00
gregw 78ed082d59 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-5605-wakeup-blocked-threads 2021-02-17 10:28:06 +01:00
gregw 172cd61878 merge from 9.4.x
Signed-off-by: gregw <gregw@webtide.com>
2021-02-16 16:35:57 +01:00
Greg Wilkins 20ef71fe5d
Fix #4275 fail URIs with ambiguous segments (#5954)
Handle URIs by first resolving relative paths and then decoding.
Added compliance mode to return 400 if there are ambiguous path segments.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-02-16 14:47:41 +01:00
Ludovic Orban ace019ab2d Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-5605-wakeup-blocked-threads 2021-02-16 13:35:18 +01:00
Joakim Erdfelt d6ec96fe1b
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-02-15 14:18:08 -06:00
Joakim Erdfelt 5dd987779c
Adding `WhitespaceAfter` checkstyle rule.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-02-15 12:48:24 -06:00
Nicolas 358526be04
Fix SampleStatistic.toString: mean dispay the max (#5962)
Signed-off-by: Nicolas Trangosi <nicolas.trangosi@dcbrain.com>
2021-02-12 14:32:54 +10:00
Olivier Lamy 68790d861c
Issue #5933 ClientCertAuthenticator is not using SslContextFactory (#5934)
Added SslClientCertAuthenticator
Co-authored-by: olivier lamy <oliver.lamy@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>

Co-authored-by: gregw <gregw@webtide.com>
2021-02-10 11:03:54 +10:00
Ludovic Orban 9611a252a5 Merge remote-tracking branch 'origin/jetty-9.4.x-5605-wakeup-blocked-threads' into jetty-10.0.x-5605-wakeup-blocked-threads 2021-02-08 10:52:57 +01:00
gregw 0d85c7d220 Fix #5605 Unblock non container Threads
test and fixes for the write side.
2021-02-02 17:49:17 +01:00
Jan Bartel 49098e6302 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-02-01 17:15:35 +01:00
Jan Bartel 4bf250fbaa
Jetty 9.4.x 5859 classloader leak queuedthreadpool (#5894)
* Issue #5859 Fix Classloader leak from QueuedThreadPool

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-02-01 16:58:02 +01:00
Simone Bordet 95b5cfd532
Fixes #5902 - Grab Jetty startup output in documentation. (#5906)
* Fixes #5902 - Grab Jetty startup output in documentation.

Implemented an Asciidoctor extension that uses `JettyHomeTester` to run
Jetty and capture its output.
This extension is triggered by the `ServiceLoader` mechanism, so the
documentation jar is now in the plugin classpath.

Introduced `jetty-halt.xml` so that the JVM can be halted.
In this way, Jetty does not produce the "stopping" log lines and
therefore they won't be grabbed and included in the documentation.

Used the new `include::jetty[]` directive in the documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
2021-01-25 14:21:17 +01:00
Joakim Erdfelt e81c847998
Happy New Year 2021 (Jetty 10 edition)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-01-21 15:05:57 -06:00
Joakim Erdfelt 176e29e408
Happy New Year 2021
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-01-21 12:31:00 -06:00
Joakim Erdfelt 2e53ec5384 Updating to version 9.4.37-SNAPSHOT 2021-01-14 11:27:24 -06:00
Joakim Erdfelt 238ec6997c Updating to version 9.4.36.v20210114 2021-01-14 10:29:28 -06:00
Simone Bordet 4b775525ff Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-01-12 17:16:47 +01:00
Simone Bordet 03ec5bb773
Merge pull request #5825 from rk1165/issue_5786
Issue #5786 : Revisit Statistics classes
2021-01-12 17:15:44 +01:00
Jan Bartel 8cd0d45ed0 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-01-12 16:52:47 +01:00
Ludovic Orban e9832492b3 Add missing files to previous merge of remote-tracking branch origin/jetty-9.4.x into jetty-10.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-01-12 16:31:13 +01:00
Ludovic Orban 058a488c30 Merge remote-tracking branch origin/jetty-9.4.x into jetty-10.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-01-12 16:22:11 +01:00
Jan Bartel 46031c225a Re-enable PathWatcherTest after fix for 5830
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-01-12 16:13:50 +01:00
Ludovic Orban 0dec883fda implement connection pool max duration 2021-01-12 15:41:56 +01:00
Jan Bartel 34f71cf036 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-01-12 12:00:38 +01:00
Jan Bartel e1e16ae54b
Issue #5870 Windows URI case comparison fails (#5873)
* Issue #5870 Windows URI case comparison fails

Signed-off-by: Jan Bartel <janb@webtide.com>

* Issue #5870 - Updating Windows tests

+ Eliminating OS.MAC (as it doesn't support drive letters)
+ Adding alt URI syntax version as well

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-01-12 11:44:56 +01:00
Jan Bartel 798337a3f6 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-01-12 11:39:17 +01:00
Jan Bartel 1a7c3deb09
Issue #5830 Remove com.sun.nio.file import. (#5838)
* Issue #5830 Remove native classes from PathWatcher.

Removed use of com.sun.nio.file.SensitivityWatchEventModifier, no longer needed.
This has the desirable side-effect of getting rid of com.sun.nio.file package imports.

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-01-12 11:30:04 +01:00
Simone Bordet f836f87754 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-01-11 11:23:12 +01:00
Simone Bordet 403d5ec318
Fixes #5855 - HttpClient may not send queued requests. (#5856)
Changed the AbstractConnectionPool.acquire() logic to call tryCreate() even
when create=false.

This is necessary when e.g. a sender thread T2 with create=true steals a
connection whose creation was triggered by another sender thread T1.
In the old code, T2 did not trigger the creation of a connection, possibly
leaving a request queued.
In the new code, T2 would call tryCreate(), possibly triggering
the creation of a connection.

This change re-introduces the fact that when sending e.g. 20 requests
concurrently, 20+ connections may be created.

However, it is better to err on creating more than creating less and leaving
requests queued.

Further refactoring moved field pending from Pool to AbstractConnectionPool.
As a consequence, AbstractConnectionPool.tryCreate() now performs a 
demand/supply calculation to decide whether to create a new connection.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
2021-01-07 16:05:24 +01:00
Greg Wilkins 51120b1f0b
Tries improvements (#5736)
* ArrayTrie handles full alphabet
* TreeTrie handles case sensitive
* improved trie selection from Index builders
* optimisations, cleanups and benchmarks.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-01-05 12:52:34 +01:00
Lachlan Roberts cbdfaaa335 fix licence header from merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-28 16:28:31 +11:00
Lachlan Roberts e340227066 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-12-28 16:27:29 +11:00
Lachlan 3d11d4e071
Merge pull request #5789 from eclipse/jetty-9.4.x-5783-ConnectionStatisticsRates
Fix the calculation of rates in ConnectionStatistics
2020-12-28 16:26:55 +11:00
Jan Bartel 84cff978ee Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-12-24 15:54:48 +01:00
Jan Bartel 29c00ebdf5
Issue #5725 Review preventers. (#5839)
Note that any Preventer that is documented as being fixed prior to jdk11
should be deleted from jetty-10/11 when this change is merged through.

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-12-24 15:29:31 +01:00
Lachlan Roberts 4e9e9b8d19 Remove the total count from the RateCounter.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-21 15:55:54 +11:00
Ravi Kumar be8d57e3cb replaced the missed set() call
Signed-off-by: Ravi Kumar <kumarravi1165@gmail.com>
2020-12-18 18:31:41 +05:30
Ravi Kumar 69a2558883 fixed the getTasks method and replaced the usage of deprecated set method
Signed-off-by: Ravi Kumar <kumarravi1165@gmail.com>
2020-12-18 17:54:09 +05:30
Ravi Kumar 433f612793 Made changes as per the review comments
Signed-off-by: Ravi Kumar <kumarravi1165@gmail.com>
2020-12-18 08:31:04 +05:30
Ravi Kumar a4dc95aa79 Added JMX annotations for ScheduledExecutorScheduler
Signed-off-by: Ravi Kumar <kumarravi1165@gmail.com>
2020-12-17 21:27:03 +05:30
Ludovic Orban 447823316d backport fix for ArithmeticException 2020-12-17 14:16:42 +01:00
olivier lamy 6769a83d3d Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-12-16 20:03:28 +10:00
Olivier Lamy 3730dd4064
execute isAlias test only on linux (#5813)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-12-16 19:38:39 +10:00
olivier lamy 0c1f9636b3 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-12-14 09:24:17 +10:00
Olivier Lamy 9343844f15
Jetty 9.4.x spotbug issue map iteration using entrySet(), diamond list creation (#5804)
* fix some spotbug performance map iterations

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* cannot use computeIfAbsent because it is a PathMap

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-12-14 08:46:35 +10:00
Joakim Erdfelt 2662be0a05
Merge pull request #5795 from eclipse/jetty-10.0.x-5784-fix-dual-license-text
Issue #5784 - fix dual license text
2020-12-11 11:37:58 -06:00
olivier lamy 9b100a5bfb Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-12-11 12:10:35 +10:00
Olivier Lamy 639cad63fe
Jetty 9.4.x optimize parser warning from logs and add spotbug (#5735)
* enable spotbugs in CI

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

record issues

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

use warning new generation

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

activate errorprone

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

fix Jenkinsfile

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

do not run spotbugs for jetty-runner as we do not want to fix all dependencies bugs :)

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

junit should allow empty results

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

maven console can be use only once...

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

one liner

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

recordissues only once

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

force id

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

aggregate results

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

configure a name for aggregated reports

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

mo more -T3 no need anymore of remote session test profile

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

I want to see what failing tests look like with new report.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

skip spotbugs for jetty-jmh

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

get rid of findbugs as we now have spotbugs

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

Revert "I want to see what failing tests look like with new report."

This reverts commit df0d13e4c53d7461872e1f925ec06bd36e4a66c9.

activate errorProne parser

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

make pmd quiet for CI

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

remove -fae flag and do not display transfer progress

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

try junitParser() to see what it does

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

junit parser is a bad idea...

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

increase timeout

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

no -T2 for javadoc

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

fix skip spotbugs and pmd verbose

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* remove -T options

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-12-11 11:47:26 +10:00
Joakim Erdfelt f0badc5c5e
Issue #5784 - Fixing source header text: EPL-2.0 OR Apache-2.0
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-12-10 16:04:50 -06:00
Lachlan Roberts 8a940fc181 Issue #5783 - start _rateCheckTimeStamp at current time
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-10 22:22:31 +11:00
Lachlan Roberts ffe3aa4459 Issue #5783 - fix getRate() methods on ConnectionStatistics
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-10 22:15:59 +11:00
Joakim Erdfelt 9319f10425 Updating to version 10.0.1-SNAPSHOT 2020-12-02 15:30:13 -06:00
Joakim Erdfelt b9645a1737 Updating to version 10.0.0 2020-12-02 15:04:53 -06:00
Simone Bordet 9c882ee796 Improved KeyStoreScanner.scan().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-12-02 19:24:19 +01:00
Simone Bordet fe0e076055 Using capital case for static final field.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-12-02 17:47:56 +01:00
Simone Bordet 97b3f262ab Fixed scan(Callback) bug, returning early in case of failures.
More cleanups in code adding more privateness, getting rid of unnecessary exceptions, making fields final, etc.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-12-02 12:53:23 +01:00
Jan Bartel 8fe8cb8c27 Issue #5086 Add blocking method for immediate scan.
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-12-02 10:27:08 +01:00
Jan Bartel c776eeb838 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-5086-review-scanner 2020-12-02 09:03:46 +01:00
Jan Bartel e39ec6cab4 Issue #5086 Fix error on addFile
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-12-02 08:02:09 +01:00
Jan Bartel 31cc298987 Issue #5086 Changes after review
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-12-01 22:05:33 +01:00
Jan Bartel 90e48ba0b5 Issue #5086 Fix javadoc
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-12-01 17:44:33 +01:00
Jan Bartel 115a72da65 Issue #5086 Fix checkstyle in test
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-12-01 17:19:46 +01:00
Jan Bartel 4304c7861c Issue #5086 Improve ScannerTest
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-12-01 15:55:45 +01:00
Ludovic Orban 845c6b457a merge jetty-9.4.x into jetty-10.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-12-01 15:26:25 +01:00
Ludovic Orban a26731c5ea merge jetty-9.4.x into jetty-10.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-12-01 15:25:25 +01:00
Ludovic Orban 44e6f4aeb8 sweep the entries list when the max usage count is changed
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-12-01 15:18:06 +01:00
Jan Bartel 4883332593 Issue #5086 Review and rework o.e.j.util.Scanner
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-12-01 14:58:18 +01:00
Ludovic Orban 0ff1bfdd5e fix bug that messes up the max usage count when the entries' max usage counter overflows
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-12-01 10:02:31 +01:00
Simone Bordet c85cef4da5 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-26 16:36:14 +01:00
Ludovic Orban aa8bd5d820 replace Trie interface and impls usage with new *Index interfaces and Builders
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-26 14:14:16 +01:00
Simone Bordet 68e70b47de
Merge pull request #5634 from eclipse/jetty-9.4.x-5310-http2_goaway
Review HTTP/2 GOAWAY handling
2020-11-26 11:29:44 +01:00
Ludovic Orban b4483d3b2a fix ArithmeticException "/ by zero"
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-26 08:59:44 +01:00
Lachlan 5941235725
Merge pull request #5726 from eclipse/jetty-9.4.x-websocketProxy
Implement and test a WebSocket Proxy with the 9.4 Jetty API
2020-11-26 16:55:36 +11:00
Joakim Erdfelt fe0a4f624e
Merge remote-tracking branch 'origin/release-9.4.35' into jetty-9.4.x 2020-11-25 15:56:09 -06:00
Lachlan Roberts ce11fb3e94 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-websocketProxy 2020-11-25 23:05:51 +11:00
gregw 116705037e Accidentally committed 2020-11-25 10:19:07 +01:00
Simone Bordet 96e068582b Fixes #1923 - GCThreadLeakPreventer won't work with Java 9.
GCThreadLeakPreventer has been removed, since the issue
it was trying to fix was solved in Java 9+.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-24 22:20:35 +01:00
Joakim Erdfelt a133e195d8
Fixing checkstyle violations
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-11-24 13:36:25 -06:00
gregw 0a70cba8ae Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-24 18:36:24 +01:00
Greg Wilkins 9f82ca0a80
Use File.list and File.walk within a try with resource (#5718)
* Use File.list and File.walk within a try with resource

The API contract of File.list and File.walk requires them to be closed after use.

* Fix from review

Left out filter

* Fix from review

Factored out deleteFile with better debug

* Fix from review

Can delete files whilst walking

* Fix from review

Restored sweepFile
fixed minor code suggestions
2020-11-24 18:12:42 +01:00
Lachlan Roberts b89adb8dae Improve WebSocketProxy, and write tests for it
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-24 18:55:09 +11:00
Joakim Erdfelt e8683cba9f Updating to version 9.4.36-SNAPSHOT 2020-11-20 16:05:27 -06:00
Joakim Erdfelt bdc54f03a5 Updating to version 9.4.35.v20201120 2020-11-20 15:05:50 -06:00