Commit Graph

18512 Commits

Author SHA1 Message Date
Lachlan Roberts 85c8c6510e Issue #5201 - Fix issues with test after changes to QTP dump
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-03 10:34:18 +10:00
Greg Wilkins 820f2b9195
Support Apache Commons Daemon methods in XmlConfiguration (#5199)
* Support Apache Commons Daemon methods in XmlConfiguration so it can substitute for start.Main after a --dry-run

* + added --dry-run=parts to printout partial dry run
+ added --no-exec

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

* + updated for review feedback

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

* Feedback from review:

 + removed features other than --dry-run parts
 + added documentation
2020-09-02 23:40:05 +02:00
Joakim Erdfelt a8ae3f9476
Issue #5185 - Add DoSFilter Listener to allow extensible behavior
+ Currently there's no way to respond to rejected/throttled/delayed
  requests that the DoSFilter impacts.
  A Listener has been added to allow for any behaviors needed
  by a user of the DoSFilter on requests that have been
  impacted by the DoSFilter.
+ Introducing OverLimit and RateType to DoSFilter internals

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-02 16:13:56 -05:00
Lachlan Roberts 0a59a2b090 Issue #5201 - simplify the QueuedThreadPool detailed dump
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-03 06:58:55 +10:00
Joakim Erdfelt 5fef14019a
Merge pull request #5215 from eclipse/jetty-9.4.x-5214-head-huge-static
Issue #5214 - Servlet HEAD doesn't support content-length over Integer.MAX_VALUE
2020-09-02 12:54:38 -05:00
Simone Bordet e940e5c574
Merge pull request #5225 from eclipse/jetty-9.4.x-5103_proxy_wrong_http_version
Fixes #5103 - Proxy sets protocol version to 2.0 instead of 1.1 when …
2020-09-02 17:41:41 +02:00
Joakim Erdfelt e2134b13d7
Issue #5224 - X-Forwarded-Host support for port
+ More test cases
+ Allowing X-Forwarded-Host to parse port (if present properly)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-02 10:27:33 -05:00
Simone Bordet 1e90d13127 Fixes #5103 - Proxy sets protocol version to 2.0 instead of 1.1 when accessed from H2 client.
Fixed by removing the explicit version copy.
Leaving it at default would make the client transport
decide the version based on the transport protocol it uses.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-02 16:39:02 +02:00
Joakim Erdfelt e4ca153364
Issue #5224 - Test to replicate reported issue
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-02 09:34:16 -05:00
gregw 418093af28 Feedback from review:
+ check no content in HEAD response
2020-09-02 13:01:20 +02:00
Jan Bartel e2d0e1fa34 Remove println 2020-09-02 12:21:30 +02:00
Jan Bartel ef0c752476
Issue #4888 Ensure HttpSessionListener can access session via (#5220)
Issue #4888 Ensure HttpSessionListener can call Request.getSession

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-09-02 11:53:23 +02:00
Simone Bordet 4e8bf3723c
Merge pull request #5216 from eclipse/jetty-9.4.x-3974-flaky-asyncmiddlemanservlet-test-overflow
Issue #3974 flaky AsyncMiddleManServletTest overflow to filesystem tests
2020-09-02 10:00:57 +02:00
Simone Bordet 5a87469b8a
Merge pull request #5205 from eclipse/jetty-9.4.x-5204-sni_with_pkix
Fixes #5204 - SNI does not work with PKIX.
2020-09-02 09:49:40 +02:00
Lachlan Roberts 5822e5bdfd Fixes to jetty-server-dump documentation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-02 16:55:07 +10:00
Lachlan f813b382d8
Merge pull request #5208 from eclipse/jetty-9.4.x-5193-NullMessage
Issue #5193 - fix lost websocket messages when only one OnWebSocketMessage annotation used
2020-09-02 15:42:54 +10:00
Lachlan Roberts 576b1e2323 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-4824-WSmaxOutgoingFrames 2020-09-02 10:07:19 +10:00
Joakim Erdfelt acc6e3aac2
Issue #3974 - Reworking AsyncMiddleManServletTest for test failures.
+ be more detailed when unexpected exceptions occur
+ dump client and server when timeout occurs
+ increasing client timeout on overflow/disk test methods

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-01 17:21:48 -05:00
Greg Wilkins a6b7f73019 Merge branch 'jetty-9.4.x-5214-head-huge-static' of https://github.com/eclipse/jetty.project into jetty-9.4.x-5214-head-huge-static 2020-08-31 18:22:10 +02:00
Greg Wilkins 9e326fe520 + improved sentinels values for content-length
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-08-31 18:19:11 +02:00
Joakim Erdfelt 9128fc48e4
Cleanup dead code in ResourceService
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-31 11:16:22 -05:00
Joakim Erdfelt dcb06d3c35
Issue #5214 - Use known content_length when in HEAD mode
+ Adding DefaultServlet.doHead() to avoid servlet wrapping
+ Making ResourceService HEAD aware

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-31 11:03:49 -05:00
Joakim Erdfelt eba360f662
Issue #5214 - Use known content_length when in bypass write
+ In the case of HEAD, the servlet-api response is a wrapper
  of javax.servlet.http.HttpServlet$NoBodyResponse
  We know the content_length, use it.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-31 09:43:04 -05:00
Joakim Erdfelt 116871362b
Issue #5214 - Replicating HEAD Content-Length failure for huge files
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-31 09:25:07 -05:00
Lachlan Roberts cd1edb33f4 Merge remote-tracking branch 'origin/jetty-9.4.x-5193-better-websocket-event-logging' into jetty-9.4.x-5193-NullMessage
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-31 10:53:26 +10:00
Joakim Erdfelt 46402bc382
Issue #5193 - Updating logging per review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-28 05:46:07 -05:00
Lachlan 001def4905
Merge pull request #5175 from eclipse/jetty-9.4.x-5105-StatisticsHandler
Issue #5105 - StatisticsHandler Graceful Shutdown of Async Requests
2020-08-28 11:54:45 +10:00
Simone Bordet bec2cdbee7 Fixes #5204 - SNI does not work with PKIX.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-27 18:06:12 +02:00
Lachlan Roberts 92e5abb1bd add missing licence header in SingleOnMessageTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-27 18:05:56 +10:00
Lachlan Roberts 478bcdc868 Issue #5193 - fix lost message bug when using single onMessage annotation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-27 17:18:48 +10:00
Lachlan Roberts eebb47cbc5 add test to reproduce issue #5193
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-27 17:14:01 +10:00
Lachlan Roberts a9c90d3309 Issue #5105 - change asyncGraceful to gracefulShutdownWaitsForRequests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-27 08:59:13 +10:00
Simone Bordet f084f3c09b Fixes #5204 - SNI does not work with PKIX.
Introduced SslContextFactory.Server.aliasMapper, a function
that transforms the alias.
This function is invoked by the SNI logic to unmangle the
alias leaked by the TLS implementation due to bug
https://bugs.openjdk.java.net/browse/JDK-8246262.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-26 22:25:27 +02:00
Joakim Erdfelt 1690e9d30d
Issue #5193 - Adding more EventDriver logging
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-26 06:56:17 -05:00
Simone Bordet 7cf605839b
Merge pull request #5166 from eclipse/jetty-9.4.x-5152-handle_unsolicited_response
Fixes #5152 - HttpClient should handle unsolicited responses.
2020-08-26 08:41:14 +02:00
Lachlan Roberts cff6121c45 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3132-DumpTool 2020-08-26 14:27:47 +10:00
calvincodes fbbc483234 Repharsing and using xref based links.
Signed-off-by: calvincodes <arpitjain1821@gmail.com>
2020-08-25 19:15:59 -07:00
Lachlan Roberts 86c4e986df Issue #3132 - Improve documentation for the jetty server dump
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-26 08:55:03 +10:00
Simone Bordet 0b8b7061b8 Issue #3974 - Flaky AsyncMiddleManServletTest.
Now using WorkDir instead of manually creating and
deleting test directories, so that tests run in
parallel won't interfere with each other.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-25 16:30:37 +02:00
Simone Bordet 0dd8274f9f
Merge pull request #5187 from eclipse/jetty-9.4.x-5147-h2_round_robin_max_usage
Issue #5147 - HTTP2 RoundRobinConnectionPool with maxUsage
2020-08-25 15:54:32 +02:00
Lachlan 4dfcb807d8
Merge pull request #5180 from eclipse/jetty-9.4.x-5122-ConnectionStatistics
Change the way ConnectorStatistics is added to the Servers Connectors
2020-08-25 14:28:26 +10:00
Lachlan Roberts 8edb7682cd DebugHandler should use isAsyncStarted() instead of isSuspended()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-25 10:40:09 +10:00
Lachlan Roberts 2d5da1fa35 StatisticsHandler should still return 503 responses on shutdown
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-25 10:34:59 +10:00
Lachlan Roberts 8faa71818f change addToAllConnectors method to addBeanToAllConnectors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-25 10:22:18 +10:00
Greg Wilkins 1159fa399f
Issue #5095 - XmlConfiguration Parser Pool (#5148)
* Issue #5095 XmlConfiguration Parser Pool

Use a pool of parsers rather than a shared static

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

* Some updates to the new Pool class:

 + fixed a race with pending reservations
 + use a pending counter
 + Reservation API to simplify Entry API
 + removed public methods on Entry API

* Some updates to the new Pool class:

 + fixed a race with pending reservations
 + use a pending counter
 + Reservation API to simplify Entry API
 + removed public methods on Entry API

* Updates from review

* Updates from review
Tests for cache size and acquire with creator

* Method no longer required with Reservation

* update from the feedback on the feedback of the feedback from the review.

Moved enable to Entry, removed Reservation class and clarified usage in javadoc

* Issue #5095 XmlConfiguration locking  Use pool instead of static shared instance

* removed fake test

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

* Issue #5095 XmlConfiguration locking  Use pool instead of static shared instance

updates from review
2020-08-24 18:00:28 +02:00
Jan Bartel f143babcf7
Issue #5087 Use lock to protect Deployment Mgr startup errors (#5139)
* Issue #5087 Use lock to protect Deployment Mgr startup errors

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-08-24 17:21:53 +02:00
Lachlan Roberts c0268c590f change name of waitForSuspendedRequestsOnShutdown to asyncGraceful
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-24 16:19:59 +10:00
Lachlan Roberts 65c4e86bdb Issue #3974 - disable testAfterContentTransformerOverflowingToDisk()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-24 15:24:58 +10:00
Simone Bordet 0af5f676cd Issue #5147 - HTTP2 RoundRobinConnectionPool with maxUsage
Reworked HTTP/2 release after an exchange is terminated.

Previously, the release was bound to 2 events: onStreamClosed(),
introduced for #2796, and exchangeTerminated().
Unfortunately, if the former happens before the latter and
closes the connection, the latter will see the exchange as
aborted, while in fact it was successful, causing what
reported in #5147, an AsynchronousCloseException.

Now, the release is always performed by the exchangeTerminated()
event. With respect to #2796, the stream is always already
closed by the time the exchangeTerminated() event fires (it
was not before).

Reworked the implementation of RoundRobinConnectionPool using
a lock and aggressively trying to open new connections.

A second fix is related to HttpDestination.release(Connection).
If the connection is closed for e.g. overuse, we need to trigger
the processing of queued requests via send(create: true).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-22 22:10:08 +02:00
Simone Bordet 2d3f0e0c10 Improved logging and toString() implementations,
small refactorings in code and tests.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-22 17:31:12 +02:00