Commit Graph

17427 Commits

Author SHA1 Message Date
Simone Bordet e64e3309d3
Merge pull request #3908 from eclipse/jetty-9.4.x-3601-http2_stall_on_reset_stream
Fixes #3601 - HTTP2 stall on reset streams.
2019-08-07 14:49:55 +03:00
Simone Bordet 264ceb143d Fixes #3601 - HTTP2 stall on reset streams.
After review, introduced WriteFlusher.isPending() and now using that
in the test case to test for TCP congestion.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-07 11:48:31 +02:00
Simone Bordet fa0e7850be
Merge pull request #3938 from eclipse/jetty-9.4.x-3929-http2_deadlock_stopping_server
Fixes #3929 - Deadlock between new HTTP2Connection() and Server.stop().
2019-08-07 12:34:15 +03:00
Simone Bordet 6c4412bd75
Merge pull request #3941 from eclipse/jetty-9.4.x-3940-double_log_initialization
Fixes #3940 - Double initialization of Log.
2019-08-07 11:52:58 +03:00
Simone Bordet b9b79a6ad7 Fixes #3929 - Deadlock between new HTTP2Connection() and Server.stop().
Code cleanup.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-07 10:51:27 +02:00
Simone Bordet 4b7ba20aae Fixes #3929 - Deadlock between new HTTP2Connection() and Server.stop().
Updated code after review.
Now a managed failed bean is restarted if its container is restarted.
Added more test cases.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-07 10:44:04 +02:00
Simone Bordet 1fd24b3fca Fixes #3940 - Double initialization of Log.
Removed LOG field, it was used improperly (log and rethrow)
and it's now unnecessary.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-07 10:04:52 +02:00
Simone Bordet 632e9c57a8 Fixes #3940 - Double initialization of Log.
Restructured the class and cleaned up the code.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-07 10:04:07 +02:00
Simone Bordet 689e6d71a2 Fixes #3940 - Double initialization of Log.
Removed usage of StringUtil.
Moved fields together at top of the class to avoid
class initialization ordering issues.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-07 09:59:23 +02:00
Simone Bordet f484b83c2e Fixes #3929 - Deadlock between new HTTP2Connection() and Server.stop().
Added test case.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-06 11:50:29 +02:00
olivier lamy 9950f6b528 yes this one was a really bad idea...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-06 09:25:10 +10:00
Joakim Erdfelt 69763a7163
Merge pull request #3885 from eclipse/jetty-9.4.x-3884-websocket-frame-listener
Issue #3884 - Pure WebSocketFrameListener should not process Continuation events
2019-08-05 14:17:08 -05:00
Simone Bordet 6c1b5982a5 Fixes #3929 - Deadlock between new HTTP2Connection() and Server.stop().
Previously beans were started if they were not running, which
included them being in a STOPPING state.
Now beans are only started if they are in STOPPED state.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-05 21:08:55 +02:00
Joakim Erdfelt b8f29630ed Issue #3884 - Updating tests and fixing merge
+ Test cases have been updated based on PR review
+ Fixing merge from `jetty-9.4.x` that caused a duplicate
  JettyListenerEventDriver.onContinuationFrame() method

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-05 12:52:20 -05:00
Joakim Erdfelt 1ee771e991 Merge branch `jetty-9.4.x` into `jetty-9.4.x-3884-websocket-frame-listener` 2019-08-05 12:27:53 -05:00
Joakim Erdfelt 4d2c981718 Can't mirror 'central' to local repo for it tests, it wont download new dependencies then 2019-08-05 12:17:37 -05:00
olivier lamy ab015f2653 timestamped snapshot are cleaned up on apache repo so definitely not to use
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-05 17:24:12 +10:00
Simone Bordet 8418f56e94 Fixes #3856 - Different behaviour with maxFormContentSize=0 if Content-Length header is present/missing.
Changed the logic to lookup server attributes if there is no context.
This fixes a failing test that was explicitly setting the server
attributes after start.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-02 22:05:07 +02:00
Simone Bordet 2488c9611f Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-3856-maxForm_contentLength_behavior'. 2019-08-02 19:13:35 +02:00
Simone Bordet 42815a781b Fixes #3856 - Different behaviour with maxFormContentSize=0 if Content-Length header is present/missing.
Updated code to reflect reviews.
Now lookup of system properties and server attributes is done in
ContextHandler.doStart(), so that the getter always return the
actual value (and this is good for JMX too).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-02 19:12:49 +02:00
Joakim Erdfelt 755317573e Skip large file test if not enough disk space available. (#3928)
* Skip large file test if not enough disk space available.

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

* Being consistent with cleanup.

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

* Limping along with known semi-working invoker plugin

* back to normal maven-invoker-plugin configuration for local build, on CI use provided settings by Jenkins to keep using mirror

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-02 13:27:11 +10:00
Joakim Erdfelt 302341f9c9 Limping along with known semi-working invoker plugin 2019-08-01 13:13:04 -05:00
Joakim Erdfelt e31b878c7b
Merge pull request #3879 from eclipse/jetty-9.4.x-3876-websocket-partial-listener
Issue #3876 - WebSocket Partial Listener testcases and fix
2019-08-01 09:48:34 -05:00
Simone Bordet 762767c62c Fixes #3601 - HTTP2 stall on reset streams.
After review, updated the logic to always fail the transport.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-01 15:52:47 +02:00
Simone Bordet 753024af54 Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-3601-http2_stall_on_reset_stream'. 2019-08-01 10:34:03 +02:00
Olivier Lamy b7fdf9f9f3
upgrade to junit 5.5.1 (#3925)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-01 17:46:06 +10:00
Joakim Erdfelt c2f76a6be5 Issue #3906 - Handling SeekableByteChannel.setPosition() Exception
+ UnsupportedOperationException now triggers a fallback seek mode

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-31 14:36:16 -05:00
Olivier Lamy 6b07bd23c8
Issue #3918 use Jetty version from pom if not found (#3919)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-07-31 20:11:20 +10:00
Joakim Erdfelt 95298d89e9
Merge pull request #3910 from eclipse/jetty-9.4.x-3840-pathresource-byterange
Issue #3840 Static resource byte-range support performance
2019-07-30 20:04:06 -05:00
Joakim Erdfelt dc4b7b1791
Merge pull request #3889 from eclipse/jetty-9.4.x-3888-huge-resources
Issue #3888 - Huge file Resources behaviors
2019-07-30 20:03:34 -05:00
Joakim Erdfelt 602c44ec96 Issue #3888 - Adding comment from PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 20:02:18 -05:00
Joakim Erdfelt 7a867c0ff0 Issue #3840 - Applying ByteBuffer niggle from PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 19:59:49 -05:00
Joakim Erdfelt ed8d9cabff Issue #3840 - Simplifying ResourceService
+ Removing unnecessary variables (per PR review)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 17:12:38 -05:00
Joakim Erdfelt 43f9553a5e Issue #3840 - Adding more robust PathResource.writeTo()
+ Using techniques from SeekableByteChannelRangeWriter
  with variant for -1 count parameter

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 17:12:07 -05:00
Joakim Erdfelt b2ec6dd1af Issue #3840 - Fixing for InputStream.skip() behaviors
+ Reset progress on any positive skip value
+ Throw IOException(EOF) for any negative skip value

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 17:11:27 -05:00
Joakim Erdfelt fd9ec22876 Issue #3840 - Adding Default FileSystem check to PathResource
+ Construction of PathResource now tests if path belongs
  to the Default FileSystem or not.  This important info
  for later actions against the PathResource that would
  need to know the File object for the Path object.
  Non-Default FileSystem == null
  Default FileSystem == Path.toFile()

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 13:58:09 -05:00
Joakim Erdfelt 5129f2c9ff Issue #3840 - InputStream.skip() rules must be followed
+ break out if progress isn't made, loop if not enough
  progress is made

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 13:00:03 -05:00
Joakim Erdfelt 6790e8d977
Merge pull request #3915 from cowwoc/issue3900
Added Javadoc for HttpConfiguration sendDateHeader
2019-07-30 11:55:47 -05:00
Gili Tzabari 33bd4e6bc0 Updated PR in response to comments.
Signed-off-by: Gili Tzabari <cowwoc2020@gmail.com>
2019-07-30 12:50:45 -04:00
Gili Tzabari d3cbd36fe0 Added Javadoc.
Signed-off-by: Gili Tzabari <cowwoc2020@gmail.com>
2019-07-30 11:46:30 -04:00
Olivier Lamy 1b6bf389d6
Jetty 9.4.x pax exam upgrade for central repo https, pre download all artifacts for maven its (#3902)
* ensure we use local repository first to avoid download, upgrade pax versions
pre download artifacts to avoid download by maven invoker its

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

* force using local repository first see https://issues.apache.org/jira/browse/MINVOKER-249

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

* use local setttings to use mirrors

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

* use https

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

* install build resources first to avoid checkstyle build issue

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

* downgrade pax-swissbox-framework as the pax exam seems to use this one and want to download it...

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

* fix enforcer rule RequireUpperBoundDeps...

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

* not used anymore

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

* force pax url to use provided settings via Jenkins withMvn

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

* renove debugging System.out

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

* version is defined in the project

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

* cleanup after Jan review comments

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-07-30 11:13:54 +10:00
mpe85 bb639817a3 Made loading of blobs from database more robust (#3895)
Signed-off-by: mpe85 <marco.perazzo85@gmail.com>
2019-07-29 14:33:40 +10:00
Simone Bordet a38ac923ac
Merge pull request #3909 from eclipse/jetty-9.4.x-3822-sslctxfactory_trustall_fails
Fixes #3822 - trustAll will not work on some servers.
2019-07-27 02:02:39 +03:00
Joakim Erdfelt 8601baa3cc Issue #3804 - PathResource should not use SPARSE hint always
+ SPARSE hint only applies to real os file systems or
  default file systems, not for all file systems.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-26 13:32:03 -05:00
Joakim Erdfelt e5bce5f7cd Issue #3840 - Static resource byte-range support performance
+ Reverting toFile().getInputStream() on PathResource
+ Adding RangeWriter concept for managing open resource
  across multiple range writes
+ RangeWriter implementation delegates to HttpContent behaviors
  Lookup is :
  - Direct Buffer
  - Indirect Buffer
  - ReadableByteChannel (as SeekableByteChannel)
  - InputStream
+ Adding unit tests for all RangeWriter implementation to ensure
  that they behave the same way everywhere.
+ Making ResourceService use new RangeWriter implementation
+ Existing DefaultServletRangeTest still works as-is

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-26 12:36:31 -05:00
Simone Bordet 4e0e962747 Fixes #3822 - trustAll will not work on some servers.
Made TRUST_ALL_CERTS implement X509ExtendedTrustManager,
so that it does not get wrapped in sun.security.ssl.AbstractTrustManagerWrapper,
which performs additional trust checks.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-07-26 15:57:53 +02:00
Simone Bordet 8431686939 Issue #3883 - Client: support embedding threadlocal data (e.g. distributed tracing data) into the request.
Added test case that shows how to do it.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-07-26 14:51:53 +02:00
Simone Bordet 3be03db5e6 Improved logging.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-07-26 11:52:08 +02:00
Simone Bordet 873d1c6d7d Fixes #3601 - HTTP2 stall on reset streams.
The client reset wakes up threads blocked in
writes, but these may again attempt to write,
therefore blocking again.

Now we detect that the stream is not writable
and mark the transport as failed, so that
writes fail immediately without blocking.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-07-25 22:21:13 +02:00
Joakim Erdfelt 24b2ca4c32 Issue #3906 - Introducing Testcase to demonstrate issue
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-25 11:43:51 -05:00