18245 Commits

Author SHA1 Message Date
Joakim Erdfelt
290c98e9b1
Issue #5285 - Making Content-Encoding for form content consistent
+ Fixing unit test expectations

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-16 15:48:03 -05:00
Joakim Erdfelt
844f134d21
Issue #5285 - Using Status code 415 Unsupported Media Type instead.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-16 15:39:43 -05:00
Greg Wilkins
ba22c08fde
Alternative Pool Strategies (#5218)
* Speculative idea to make a pluggable Pool strategy

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

* Speculative idea to make a pluggable Pool strategy

 + javadoc

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

* Speculative idea to make a pluggable Pool strategy

 + Added a ThreadLocalStrategy for a single cached item
 + Tell strategies about newly reserved entries
 + Fixed multiplexing test that was dependent on the impl of the cache

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

* Speculative idea to make a pluggable Pool strategy

 + added tests

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

* Feedback from review

 + Don't have a fallback iteration, instead make a SearchStrategy and DualStrategy

* Feedback from review

 + split strategies into Cache and Strategies

* Feedback from review

 + Added reserve and release

* Improved Pool Strategies:

+ reverted to post notifications for removed, reserved and released.
+ Added a few more strategies that need to be benchmarked, that use the list iterator.

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

* Testing all the different strategies

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

* More simplifications and made LRU work (ish)

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

* javadoc

* More javadoc

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

* JMH Test

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

* one strategy

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

* test

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

* Split implementations:

 + pluggable strategies
 + hard coded

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

* More benchmarks

* Built in strategy

* removed strategies version and simplified to single configurable solution.

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

* updates from review

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

* better javadoc

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

* Updated ConnectionPool classes to use Pool strategies

* Small javadocs fixes.

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

* Updates from review

* javadoc

Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-16 18:27:26 +02:00
Ludovic Orban
a37ab389aa
increase the connector's idle timeout to make sure the idle timeout does not fire spuriously. (#5281)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-09-16 16:14:11 +02:00
gregw
88a110ed0f added ALPN dependency for jdk8
Signed-off-by: gregw <gregw@webtide.com>
2020-09-16 15:17:01 +02:00
Jan Bartel
bd589de512
Issue #5268 Change WARN to DEBUG for NullSessionCache eviction setter. (#5270)
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-09-16 11:27:07 +02:00
olivier lamy
6b250a7dc2 use our nexus
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-09-16 17:42:48 +10:00
Joakim Erdfelt
78bf1fb410
Merge pull request #5267 from eclipse/jetty-9.4.x-4954-minimal-bytecode-exposure
Issue #4954 - Expose header size/length from HttpParser
2020-09-15 14:32:49 -05:00
Joakim Erdfelt
829cf76a89
Issue #4954 - Expose header size/length from HttpParser
- Minimal new API for exposing byte counts to HttpChannel.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-15 08:36:20 -05:00
Olivier Lamy
3849a9118f
h2s spec maven plugin 1.0.0 with h2spec 2.6.0 (#5231)
* use our fork of h2spec-maven-plugin and upgrade version

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

* add a profile to run spec server

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

* use h2spec plugin new version

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

* version h2spec 1.0.0

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

* exclude specs we know not working

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

* use our own package name

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

* test no exclusion

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

* restore known failure

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

* h2spec maven plugin version 1.0.0

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

* change default port for manual testing

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-09-14 21:01:10 +10:00
Olivier Lamy
26d50c8e29
Jetty 9.4.x not skipping tests failure and fix jaas test (#5255)
* remove -Dmaven.test.failure.ignore=true

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

* get JAASLdapLoginServiceTest working

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

* increase memory

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

* use only single thread to have more readable log in Jenkins

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

* disable java8

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

* test only java8

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

* increase memory

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

* try -T3

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

* restore jdk11/14

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

* try more memory

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

* archive logs from Jenkins

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

* archive logs from Jenkins

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

* more memory

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

* skip jacoco

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

* test useManifestOnlyJar true

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

* junit

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

* useManifestOnlyJar false

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

* debug maven surefire

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

* very simple build to debug

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

* try M5

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

* try not using withMaven

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

* no debug surefire M4

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

* all jdk and M5

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

* enable jacoco only for java8

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

* reduce memory usage for test

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

* avoid duplications of warnings parsing

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

* fix my bad

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-09-11 13:11:04 +10:00
Simone Bordet
892a715bea Small javadocs fixes.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-10 13:35:06 +02:00
Simone Bordet
f81bf7f945
Fixes #3766 - Introduce HTTP/2 API to batch frames. (#5222)
* Fixes #3766 - Introduce HTTP/2 API to batch frames.

Introduced Stream.FrameList to hold HEADERS+DATA+HEADERS frames.
These are often used by the client and by the server when the
request/response content is known and FrameList will allow to
send them in a single TCP write, rather than multiple ones.

Rewritten HttpSenderOverHTTP2.sendHeaders() and
HttpTransportOverHTTP2.sendHeaders() to take advantage of
FrameList.

Now using ConcurrentHashMap as a client context, because
with DEBUG logging enabled it may be access concurrently.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-10 10:13:14 +02:00
Lachlan
1256261cda
Merge pull request #5059 from eclipse/jetty-9.4.x-4824-WSmaxOutgoingFrames
Issue #4824 - add configuration on RemoteEndpoint for maxOutgoingFrames
2020-09-10 10:51:10 +10:00
Lachlan Roberts
b44b62038c reorder methods for maxOutgoingFrames, fix javadoc
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-10 09:50:52 +10:00
Lachlan Roberts
4fd7920143 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-4824-WSmaxOutgoingFrames 2020-09-10 09:46:12 +10:00
Joakim Erdfelt
165e59b3e2
Merge pull request #5226 from eclipse/jetty-9.4.x-5224-xforwarded-multiple-ports
Issue #5224 X-Forwarded-Host support for port
2020-09-09 11:37:33 -05:00
Joakim Erdfelt
e7d15afeb6
Merge pull request #5234 from eclipse/jetty-9.4.x-http-09-response-505
Issue #5233 - Bad/Unsupported HTTP version should return 505 not 400.
2020-09-09 09:23:01 -05:00
Simone Bordet
01135e1515
Fixes #5217 - Review RoundRobinConnectionPool (#5219)
* Fixes #5217 - Review RoundRobinConnectionPool

Introduced IndexedConnectionPool and RandomConnectionPool.
Clarified semantic of RoundRobinConnectionPool.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-09 15:31:28 +02:00
Joakim Erdfelt
2896ed31d6
Issue #5224 - Updating ForwardedRequestCustomizerTest expectations
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-08 12:34:53 -05:00
Joakim Erdfelt
56b1d17d79
Issue #5233 - correcting NCSARequestLogTest expectation on unsupported version
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-08 05:59:41 -05:00
Greg Wilkins
7ecf42e3f8
Issue #5162 CDI embedded integration improvements (#5177)
* Issue #5162 CDI embedded integration improvements

Clean up CDI integration and documentation to better support embedded usage.
 + made listener public
 + added utility class for SCIs

* Issue #5162 CDI embedded integration improvements

Clean up CDI integration and documentation to better support embedded usage.
 + moved EmbeddedWeldTest to jetty-embedded

* fix javadoc

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

* Issue #5162 CDI embedded integration improvements

ventilated text

* fix test pom

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

* Fixed javadoc

* Fixed javadoc

* Issue #5162 CDI embedded integration improvements

Moved tests to jetty-cdi to avoid consequences to other tests in embedded

* trailing new line

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

* updates from review

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

* Feedback from review
2020-09-07 14:00:20 +02:00
Joakim Erdfelt
b2e0f69ea8
Issue #5233 - Bad/Unsupported HTTP version should return 505 not 400.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-04 12:23:11 -05:00
Lachlan Roberts
b5810b930d Issue #5824 - improve javadocs for RemoteEndpoint maxOutgoingFrames
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-04 17:43:36 +10:00
Lachlan
2826df2048
Merge pull request #5230 from eclipse/jetty-9.4.x-5201-QueuedThreadPoolDump
Issue #5201 - simplify the QueuedThreadPool dump
2020-09-04 17:16:43 +10:00
Lachlan Roberts
1d1bbc49f7 Issue #5201 - change format for QTP dump from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-04 13:55:26 +10:00
Lachlan Roberts
52c9f8730b Issue #4824 - create test for WebSocket maxOutgoingFrames
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-04 10:45:47 +10:00
Joakim Erdfelt
be86e66e77
Merge pull request #5195 from eclipse/jetty-9.4.x-5185-dosfilter-listener
Issue #5185 - Add DoSFilter Listener to allow extensible behavior
2020-09-03 14:10:29 -05:00
Lachlan Roberts
516432b9cb Update server dump documentation after QueuedThreadPool dump changes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-03 15:06:02 +10:00
Lachlan Roberts
26ae875d1c Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-5201-QueuedThreadPoolDump 2020-09-03 15:00:47 +10:00
Lachlan Roberts
f788260abd Issue #4824 - use WritePendingException instead of IOException
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-03 14:58:09 +10:00
Lachlan
a676bddbf2
Merge pull request #5200 from eclipse/jetty-9.4.x-3132-DumpTool
Issue #3132 - Improve documentation for the jetty server dump
2020-09-03 13:16:26 +10:00
Lachlan
c10dc06568
Merge pull request #5184 from calvincodes/jetty-9.4.x-injecting-handler-documentation
Adding Injecting Handler section to documentation.
2020-09-03 13:16:05 +10:00
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