Commit Graph

1843 Commits

Author SHA1 Message Date
Joakim Erdfelt 2c14d93885 Updating to version 9.2.29-SNAPSHOT 2019-04-18 12:17:07 -05:00
Joakim Erdfelt 1dffa36fe3 Updating to version 9.2.28.v20190418 2019-04-18 11:23:17 -05:00
Joakim Erdfelt 79537a5f51 Updating to version 9.4.17-SNAPSHOT 2019-04-11 11:00:24 -05:00
Joakim Erdfelt e0aa4ae4c0 Updating to version 9.4.16.v20190411 2019-04-11 10:01:26 -05:00
Simone Bordet a15154c290 Issue #3481 - TLS close_notify() is not guaranteed.
Making sure that if a wrap() requires multiple passes,
they are done before returning.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-04-05 17:20:43 +11:00
Greg Wilkins 36df72d455 Issue #3481 TLS Close
Updates from review:
 - revert outputShutdown logic

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-05 17:20:43 +11:00
Greg Wilkins db60003099 Issue #3481 TLS Close
Updates from review:
 - cleanup isEmpty logic

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-05 17:20:43 +11:00
Greg Wilkins 8a13085493 Issue #3481 TLS Close
Updates from review:
 - fixed flush return for NEED_UNWRAP

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-05 17:20:43 +11:00
Greg Wilkins 33e3894796 Issue #3481 TLS Close
Updates from review:
 - shutdown after flush
 - close if write fails

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-05 17:20:43 +11:00
Greg Wilkins b7bae5c683 Issue #3481 cleanups
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-05 17:20:43 +11:00
Greg Wilkins e109116806 Issue #3481 Blocked TLS close
Added test harness
removed retry loop in favour of single retry then write

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-05 17:20:43 +11:00
Greg Wilkins d96d6178de Issue #3481
async write of close handshake

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-05 17:20:43 +11:00
Greg Wilkins dc7d0b70e3 Issue #3481 provisional work around
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-05 17:20:43 +11:00
Simone Bordet b6b7d2e730 Issue #3133 - Logging of key.readyOps() can throw unchecked CancelledKeyException.
Changed logging to level IGNORE, since it's too verbose when debugging.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-04-04 12:18:16 +02:00
Joakim Erdfelt 9b19374c5d Updating to version 9.2.28-SNAPSHOT 2019-04-03 19:38:05 -05:00
Joakim Erdfelt 84dfe74b97 Updating to version 9.2.27.v20190403 2019-04-03 19:04:45 -05:00
Joakim Erdfelt c70034766e Updating to version 9.3.27-SNAPSHOT 2019-04-03 18:46:31 -05:00
Joakim Erdfelt dae476e369 Updating to version 9.3.26.v20190403 2019-04-03 18:16:32 -05:00
Joakim Erdfelt 2ccde9772b Undoing bad release-9.3.26 2019-04-03 18:11:16 -05:00
Greg Wilkins 9f4b3542cb Updating to version 9.3.27-SNAPSHOT 2019-04-03 17:32:08 +11:00
Greg Wilkins 7ec6d2fb32 Updating to version 9.3.26.v20190403 2019-04-03 13:06:51 +11:00
Simone Bordet 6fb243ff6c Issue #3464 - Split SslContextFactory into Client and Server
Introduced SslContextFactory subclasses Client and Server.
Replaced all usages of SslContextFactory with either Client or Server
as required.

Refactored configuration checking so that warnings are not emitted
when non necessary.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-03-21 14:42:42 +01:00
Simone Bordet d2e13ec5ad Code cleanup and improved toString() and javadocs.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-03-07 12:27:43 +01:00
Simone Bordet de0c8e3531 Issue #1861 - Limit total bytes pooled by ByteBufferPools.
Small improvement after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-28 12:41:11 +01:00
Simone Bordet 676b7ecaba Issue #1861 - Limit total bytes pooled by ByteBufferPools.
Added a bytebufferpool module to be able to configure
the ByteBufferPool used by ServerConnectors.

Added JMX methods to the ByteBufferPool implementations.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-27 17:16:09 +01:00
Simone Bordet 16933f8df2 Issue #1861 - Limit total bytes pooled by ByteBufferPools.
Updated the implementation to track the oldest bucket and
release its buffers when the retained memory is exceeded.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-27 12:54:06 +01:00
Simone Bordet ced0361cab Issue #1861 - Limit total bytes pooled by ByteBufferPools.
Fixed the implementation to correctly track the memory retained.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-26 11:50:11 +01:00
Simone Bordet 7323b19f6f Issue #1861 - Limit total bytes pooled by ByteBufferPools.
Implemented a limit for the total memory retained by the
ByteBufferPool for both direct and heap buffers.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-26 10:56:30 +01:00
Simone Bordet f2d15f12d5 Issue #1861 - Limit total bytes pooled by ByteBufferPools.
Code cleanups + javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-25 16:14:41 +01:00
Joakim Erdfelt 9cdb59d4d7 Updating to version 9.4.16-SNAPSHOT 2019-02-15 13:35:15 -05:00
Joakim Erdfelt eb70b24016 Updating to version 9.4.15.v20190215 2019-02-15 11:53:00 -05:00
Simone Bordet 8964608bfc Fixes #3154 - Add support for javax.net.ssl.HostnameVerifier to HttpClient.
Added a SslHandshakeListener to SslConnection that performs
the host name verification (only on the client) if the
HostnameVerifier has been configured in SslContextFactory.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-05 15:48:17 +01:00
Simone Bordet d22ec03acc
Merge pull request #3287 from eclipse/jetty-9.4.x-3049-sslcontextfactory_warnings
Issue #3049 - Warn on common SslContextFactory problematic configurations
2019-02-04 22:56:32 +01:00
Simone Bordet fda815cd56
Merge pull request #3306 from eclipse/jetty-9.4.x-3305-avoid_select_now
Fixes #3305 - Avoid additional selectNow().
2019-02-04 11:44:13 +01:00
Simone Bordet 5061a5ca30 Fixes #3311 - Ability to serve HTTP and HTTPS from the same port.
Fixed handling of upgradeTo() in case of null buffers.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-31 17:15:07 +01:00
Simone Bordet 88408375ab Issue #3049 - Warn on common SslContextFactory problematic configurations.
Updating SslContextFactory configuration for tests, since
the change in the default endPointIdentificationAlgorithm
makes the test failing as the certificates are not valid
for the local host, which is different depending on where
the tests are run (locally, jenkins).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-31 15:31:35 +01:00
Simone Bordet ccda1ee5f6 Fixes #3311 - Ability to serve HTTP and HTTPS from the same port.
Introduced PlainOrSslConnectionFactory, to "sniff" the first bytes
on a connection and upgrade to SSL (if the bytes are TLS bytes), or
upgrade to a specific, configured, protocol.

Added also the ability to fail the upgrade in case of a `http`
request to a `https` port and write a minimal response to the client.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-31 13:23:58 +01:00
Simone Bordet d02762140d Fixes #3305 - Avoid additional selectNow().
Using system property "org.eclipse.jetty.io.forceSelectNow"
to force a selectNow() call; if absent, forcing selectNow()
only in the Windows OS.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-30 19:41:35 +01:00
Olivier Lamy 9b7afd8a03
Happy new year!! (#3232)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-01-01 11:52:16 +10:00
Greg Wilkins 89e1dd033a
Jetty 9.4.x 3117 retainable byte buffer (#3118)
* Move RetainableByteBuffer to jetty-io=
use RetainableByteBuffer
use RetainableByteBuffer - changes from review.
Reviewed and applied small changes.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-22 11:31:05 +01:00
Simone Bordet 910665a55a Fixes #3133 - Logging of key.readyOps() can throw unchecked CancelledKeyException.
Introduced safeInterestOps() and safeReadyOps() to catch exceptions
they may throw and using them in relevant places to fix the issue.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-21 17:37:37 +01:00
Greg Wilkins 8c4ee8496f
Jetty 9.4.x 3038 ssl connection leak (#3121)
Issue #3038 - SSL connection leak.

Fixed SSL spin caused when fill had NEED_WRAP, but a flush/wrap
produced 0 bytes and stayed in NEED_WRAP

Removed check of isInputShutdown prior to filling that allowed EOF to
overtake data already read.

Fix for leak by shutting down output in HttpConnection if
filled -1 and the HttpChannelState was no longer processing
current request.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-20 13:53:42 +01:00
Joakim Erdfelt 29fd18e046 Updating to version 9.4.15-SNAPSHOT 2018-11-14 16:42:40 -06:00
Joakim Erdfelt c4550056e7 Updating to version 9.4.14.v20181114 2018-11-14 15:19:10 -06:00
Joakim Erdfelt a903017f5f Updating to version 9.4.14-SNAPSHOT 2018-11-11 21:06:50 -06:00
Joakim Erdfelt 49123a3313 Updating to version 9.4.13.v20181111 2018-11-11 20:02:42 -06:00
Simone Bordet f814354bb5 Issue #3085 - Restore Dump methods for backwards compatibility reasons.
Restored removed methods to maintain backwards compatibility.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-09 17:47:46 +01:00
Greg Wilkins d455ac6aca Issue #3060 WriteFlusher fails callback on all Throwables
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-06 09:29:43 +01:00
Greg Wilkins 4a9265d4b4 backports from 10.0.x websocket refactor
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-03 17:53:32 +01:00
Greg Wilkins 15e1c73f9c
Cleanup the dump implementation (#2998)
* Cleanup the dump implementation
* improved the clarity of utility methods for dump and updated most dump methods
* fixed upgrade filter dump
* Improved dump after review
* Moved dumpObjects to Dumpable
* implemented dumpBeans with dumpObjects
* less verbose dump
* Dump streams
* fixed dump test

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-22 11:53:59 +11:00
Greg Wilkins 319766a70c Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2018-10-05 18:56:49 +10:00
Greg Wilkins 166eeaa1f6
Jetty 9.3.x #2954 report cause (#2959)
Issue #2954 Report badmessage cause

Pass BadMessageException from parser to HttpReceiverOVerHTTP

This change has already mostly been made in 9.4, so essentially this is a back port.  However the
primary signature of HttpParser.Handler for badMessage has not been changed and a default method
used to handle the cause. This avoids breaking any usages of the interface.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-10-05 18:36:35 +10:00
Joakim Erdfelt a3f1592c50 Issue #2431 - Upgrade to Junit 5 (#2436)
+ Changes needed for new Junit 5
+ Migrating from Vintage junit API to Jupiter junit API
+ Relies on SNAPSHOT jetty-test-helper
  - this will be a formal release once this issue has been
    resolved satisfactory
+ Have jenkins always pull latest SNAPSHOT for each build
+ Adding jetty.snapshots repository
+ Using surefire 2.22.0 per advice from junit
+ Ensuring <reuseForks>true</reuseForks> to work around issue junit-team/junit5#801
+ Disabling <forkMode>always</forkMode> in maven-surefire-plugin
  due to bug https://github.com/junit-team/junit5/issues/801
+ OSGi tests must remain at vintage due to PaxExam
+ Moving from vintage TestingDir to jupiter WorkDir
+ Fixing imports to use jupiter, not vintage
+ Migrating vintage ExpectedException to jupiter assertThrows
+ Migrating vintage TestName to jupiter TestInfo
+ Migrating @RunWith(Parameterized.class)
  to @ParameterizedTest with Argument Sources
+ Migrating assertTrue(val.contains(needle))
  to assertThat(val, containsString(needle))
+ Aligning junit versions per recommendations from @sormuras
+ Adjusting parameter order change for assertEquals()
+ Test LifeCycle Annotation Migration

junit 4      | junit 5 / jupiter
------------ | -----------
@Before      | @BeforeEach
@After       | @AfterEach
@BeforeClass | @BeforeAll
@AfterClass  | @AfterAll

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-05 10:07:17 +10:00
Jesse McConnell 863a19bccf
Updating to version 9.3.26-SNAPSHOT 2018-09-04 17:23:31 -05:00
Jesse McConnell 3ce520221d
Updating to version 9.3.25.v20180904 2018-09-04 16:08:21 -05:00
Jesse McConnell dcf6a8fa9f
Updating to version 9.4.13-SNAPSHOT 2018-08-30 10:48:22 -05:00
Jesse McConnell 2720868475
Updating to version 9.4.12.v20180830 2018-08-30 08:56:44 -05:00
Simone Bordet 7cf027b98f Jetty 9.4.x 2711 tls 13 compliance (#2857)
Issue #2711 - TLS 1.3 compliance.

Disabled few tests that are TLS 1.2 specific.
Renegotiation in SslConnection is now skipped for TLS 1.3.
Replaced SNI keystore DSA certificate with RSA certificate.
First full build achieved with JDK 11+28.
Small changes after review.
Modified the test case to pass in JDK 8, where the implementation
throws SSLException, while in later JDKs throws SSLHandshakeException.
Minor cleanup

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-28 21:43:45 +10:00
Simone Bordet c5aa15bdd4 Merged branch 'jetty-9.4.x-2836-ssl_cannot_reuse_connection' into 'jetty-9.4.x'. 2018-08-22 16:17:28 +02:00
Simone Bordet 1a7eac5966 Fixes #2847 - Wrap Connection.Listener invocations in try/catch.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-22 16:11:20 +02:00
Greg Wilkins 0e2daba7a2 minor cleanup
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-08-22 18:08:33 +10:00
Greg Wilkins 38735f8457 ensure fill is always called if needed by flush
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-08-21 12:02:52 +10:00
Simone Bordet bc78778f02 Issue #2836 - Sequential HTTPS requests may not reuse the same connection.
WIP.
Tentative fix to avoid that onFillable() is called after the exchange
is completed.
Now DecryptedEndPoint.fillInterest.fillable() is called before other
methods that may advance the exchange processing.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-20 23:01:43 +02:00
Simone Bordet ddd80deeb9 Improved logging and exception handling.
Now IllegalStateExceptions are thrown with a message.
Methods needsFillInterest() and onIncompleteFlush() are now wrapped in
try/catch to make sure the connection is closed in case of exceptions.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-17 15:39:47 +02:00
Simone Bordet 13792a65d2 Improved logging after unwrap().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-16 20:49:07 +02:00
Kazuhiro Sera 96218e8bc4 Fix typos detected by github.com/client9/misspell
Signed-off-by: Kazuhiro Sera <seratch@gmail.com>
2018-08-10 23:52:16 +09:00
Joakim Erdfelt 516d93c488 Updating to version 9.2.27-SNAPSHOT 2018-08-06 11:33:22 -05:00
Joakim Erdfelt 8c637489ae Updating to version 9.2.26.v20180806 2018-08-06 10:51:25 -05:00
Joakim Erdfelt 9e97c50d90 Merge branch 'release-9.2.25' into jetty-9.2.x 2018-08-06 10:27:39 -05:00
Simone Bordet 8eb11a56c8 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2018-08-06 15:00:16 +02:00
Simone Bordet 289dc935f1 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2018-08-06 12:55:09 +02:00
Simone Bordet da9c5fcae2 Fixes #2777 - Workaround for Conscrypt's ssl == null.
Isolated SSLEngine method calls and wrapped them into try/catch
blocks to ignore the NullPointerException thrown by Conscrypt.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-06 12:41:44 +02:00
Simone Bordet b561ee2734 Issue #2755 - ManagedSelector 100% CPU spin.
Now checking for thread interrupted only when select() reports 0 selected.
This will avoid the check in case of legit I/O wakeups.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-02 13:13:54 +02:00
Simone Bordet 0a336230ef Issue #2755 - ManagedSelector 100% CPU spin.
Avoid race between doStart() and doStop() by waiting in doStart()
for _started=true.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-01 17:25:46 +02:00
Simone Bordet a090741a60 Issue #2755 - ManagedSelector 100% CPU spin.
Added check for thread interrupted.
If interrupted and ManagedSelector is not running, bail out.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-01 16:57:08 +02:00
Simone Bordet eceaff7bed Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2018-07-18 16:21:00 +02:00
Simone Bordet 37e4da24cb Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2018-07-18 16:15:27 +02:00
Greg Wilkins 17b6eee5ac
Jetty 9.4.x 2233 ssl flush try again 2 (#2726)
Major refactor of SslConnection to address #2233 and to simplify in preparation for java-11 support.

Made the `needFillInterest` and `onIncompleteFlush` methods the primary stateful methods with state for fill and flush side that does not reproduce state already held by the SslEngine itself.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-07-18 10:11:35 +02:00
Joakim Erdfelt 0b69f00665 Updating to version 9.4.12-SNAPSHOT 2018-07-11 17:32:16 -05:00
Joakim Erdfelt 260596dd10 Updating to version 9.4.12.RC0 2018-07-11 16:30:55 -05:00
Simone Bordet a557a84447 Fixes #2530 - Client waits forever for cancelled uploads.
Reworked implementation after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-07-10 11:34:56 +02:00
Simone Bordet 6553957278 Fixes #2530 - Client waits forever for cancelled uploads.
Added comment after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-07-09 17:26:05 +02:00
Simone Bordet 0c8b33e581 Fixes #2530 - Client waits forever for cancelled uploads.
After discussion on openjdk/nio-dev, we now wakeup the selector
after closing a socket, so that the SelectionKey can be removed
from the Selector and the TCP stack notified that the socket
has been really closed, so that it can send RST to clients.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-07-09 10:02:45 +02:00
Greg Wilkins 4f54447585
Jetty 9.4.x 2501 accept listener (#2511)
* Issue #2501 - Accept Listener
* Issue #2501 - Include accepting connections in connection limit.
* AcceptRateLimit minimal delay

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-06-19 09:03:54 +02:00
Simone Bordet 253c637742
Fixes #2663 - Guard Throwable.addSuppressed() calls. (#2665)
* Fixes #2663 - Guard Throwable.addSuppressed() calls.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-14 15:21:44 +02:00
Simone Bordet 4f1dd352d6
Issue #2468 - Remove SoLinger. (#2644)
* Issue #2468 - Remove SoLinger.

For non-blocking sockets, StandardSocketOptions#SO_LINGER javadocs
report that the behavior is undefined. In JDK 11 setting SoLinger
for non-blocking sockets will be ignored.

As such, there is no point in allowing SoLinger to be configured
in Jetty that only uses non-blocking sockets.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-09 13:21:24 +02:00
Greg Wilkins 482e207392
Merge pull request #2636 from lachlan-roberts/jetty-9.4.x-2592-WriteFlusher-Cleanup
Issue #2592 - WriteFlusher Cleanup
2018-06-09 09:56:04 +02:00
Lachlan Roberts da58c20d90 Issue #2592 - Rework of WriteFlusher
changes from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-06-09 10:24:43 +10:00
Joakim Erdfelt 3932b11e64 Merge remote-tracking branch 'origin/release-9.4.11' into jetty-9.4.x 2018-06-07 14:31:24 -05:00
Lachlan Roberts f2893fdd0b Issue #2592 - Rework of WriteFlusher
WriteFlusher.write() now requires the callback it is given is not null

the FAILED state of WriteFlusher is now a terminal state
any failure will now result in the callback being failed and a transition to the FAILED state

the WriteFlusher documentation and WriteFlusherTests have also been altered to reflect these changes

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-06-07 22:02:44 +10:00
Joakim Erdfelt 0e6c91b604 Updating to version 9.2.26-SNAPSHOT 2018-06-06 18:54:58 -05:00
Joakim Erdfelt 4830fd15e9 Updating to version 9.2.25.v20180606 2018-06-06 16:42:54 -05:00
Joakim Erdfelt df29e292af Issue #2135 - Correct testHelloWorld failure by backporting test from 9.4.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-06 14:24:53 -05:00
Joakim Erdfelt 2d5ef67d3f Issue #2135 - TLS on Android 8.1 workaround configuration for Direct ByteBuffer use
+ Changes from review with @sbordet

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-06 10:55:28 -05:00
Joakim Erdfelt ea116028d4 Issue #2135 - TLS on Android 8.1 workaround configuration for Direct ByteBuffer use
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-06 10:44:53 -05:00
Lachlan Roberts 29c9afe135 Issue #2592 - Failing test on Windows: ServerTimeoutsTest.testAsyncWriteIdleTimeoutFires[transport: HTTP]
removed HttpOutput.close(Closeable) method as IO.close(Closeable) should be used instead
added isFailed() method to WriteFlusher and used it to fix WriteFlusherTest.testFailWhileBlocking()
surrounded usage of onError() in HttpOutput.run() with try-finally so that IO.close(this) is executed if onError throws

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-06-06 15:35:54 +10:00
Joakim Erdfelt e4bfe00dce Updating to version 9.4.12-SNAPSHOT 2018-06-05 14:18:37 -05:00
Joakim Erdfelt d5fc0523cf Updating to version 9.4.11.v20180605 2018-06-05 13:23:02 -05:00
Joakim Erdfelt 5eefa90e05 Updating to version 9.3.25-SNAPSHOT 2018-06-05 13:13:07 -05:00
Joakim Erdfelt 84205aa28f Updating to version 9.3.24.v20180605 2018-06-05 12:11:03 -05:00
Joakim Erdfelt f0ff571c98 Reverting version to 9.3.24-SNAPSHOT 2018-06-05 12:06:58 -05:00
Joakim Erdfelt 13640c297c Bumping version to 9.3.25-SNAPSHOT 2018-06-05 11:58:37 -05:00
Lachlan Roberts 72dcfc15e5 Issue #2592 - Failing test on Windows: ServerTimeoutsTest.testAsyncWriteIdleTimeoutFires[transport: HTTP]
changed write flusher to go from pending state to failed state
reverted previous HttpOutput changes

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-06-05 19:21:30 +10:00
Lachlan Roberts 69aaabac24 fixes to printed exception stack traces in tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-29 17:55:14 +10:00
Greg Wilkins e6e49bdc85 Updated javadoc for callbacks
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-25 08:01:31 +02:00
Simone Bordet 744f9054b3 Fixes #2547 - Review usages of ServerSocket[Channel].accept().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-16 18:40:10 +02:00
Simone Bordet 303deacda2 Fixes #2516 - NPE at SslClientConnectionFactory.newConnection().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 09:37:30 +02:00
Joakim Erdfelt 1732ffca51 Updating to version 9.4.11-SNAPSHOT 2018-05-03 11:48:05 -05:00
Joakim Erdfelt daa59876e6 Updating to version 9.4.10.v20180503 2018-05-03 10:55:19 -05:00
Simone Bordet 6224e75862
Issue #2366 - Review HTTP/2 interleaving. (#2379)
* Fixes #2366 - Review HTTP/2 interleaving.

Now using a fairer algorithm that performs multiple generation passes
but without generating all frames for the current entries - it stops
after N passes over all the entries when the number of bytes to
write is large enough.

Using HttpConfiguration.outputBufferSize as the writeThreshold on
the server and a default 32 KiB on the client to stop the generation
after a pass over all the entries.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-04-13 11:50:17 +02:00
Greg Wilkins 426fb955f8 extra debug for #2205
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-04-03 08:59:56 +10:00
Joakim Erdfelt c3cc138a3b Updating to version 9.4.10-SNAPSHOT 2018-03-20 08:25:59 -05:00
Joakim Erdfelt 1f8159b1e4 Updating to version 9.4.9.v20180320 2018-03-20 07:18:24 -05:00
Simone Bordet adeaf77c02 Small optimization to save the allocation of an iterator,
in case the selector has been woken up without selected keys.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-20 10:38:53 +01:00
Joakim Erdfelt a107bdd2bb Issue #2226 - SelectChannelEndPoint test cleanup
Applying recommended changes from review.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-19 17:26:44 -05:00
Joakim Erdfelt a437466996 Issue #2226 - SelectChannelEndPoint test cleanup
Fixing NPE in testcase

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-19 16:45:01 -05:00
Joakim Erdfelt 1493e57064 Issue #2226 - SelectChannelEndPoint test cleanup
+ New SocketChannelEndPointTest replacement class
  * Is Parameterized for both Normal/Ssl scenarios
  * Builds a new set of connections/selector manager etc
    for each test
  * TestConnection moved to inner static class to not rely
    on test class fields/methods
  * Adding SafeInteger to help track down bad test behavior.

Blocking Read behavior doesn't do what we think, see Exception on CI.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-19 16:03:16 -05:00
Joakim Erdfelt 423d160f0d Issue #2226 - SelectChannelEndPoint test cleanup
+ Renamed old SocketChannelEndPointTest to
  SocketChannelEndPointOpenCloseTest
+ Moved SelectChannelEndPointSslTest.checkSslEngineBehavior() to
  new SslEngineBehaviorTest as its unrelated to the rest
  of the SelectChannelEndPointTest logic

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-19 16:01:17 -05:00
Joakim Erdfelt 7c5b49fb7f Issue #2226 - SelectChannelEndPoint test cleanup
+ Renamed SelectChannelEndPointInterestsTest to
  SocketChannelEndPointInterestsTest
+ Merged EndPointTest abstract class into SocketChannelEndPointTest
  as it's only used by that testcase

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-19 15:04:03 -05:00
Joakim Erdfelt 13224e4ee8 Adding TestTracker to SelectChannelEndPointTest
Hoping that this will reveal the specific circumstances (test order)
that lead to the frequent test failures on CI

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-19 14:16:49 -05:00
Simone Bordet 7bc5e6e33a Small code cleanup and optimization in dump().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-19 10:43:26 +01:00
Greg Wilkins fc5369a1de simplified idle tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-19 11:13:08 +11:00
Greg Wilkins 0b44f47b45 removed extra debug
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-16 09:48:35 +11:00
Greg Wilkins 1da19dc2fd
[WIP!] HTTP Close #1832 (#2338)
* Only close if parser closed and output is shutdown

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

* a better possible fix

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

* after review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-15 23:12:58 +11:00
Joakim Erdfelt 358f324ddc
Merge pull request #2335 from eclipse/jetty-9.4.x-issue-2218-windows-livelock
Issue #2218 - Windows Selector Bug
2018-03-15 04:43:33 -05:00
Greg Wilkins c8d6f0a3bb Recursion protection for SSL flush try again #2233
Protecton from recursion in SSL flush try again #2233
This would not be needed if we could make flush iterate when necessary.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-15 10:41:50 +11:00
Joakim Erdfelt 484280bac6 Issue #2218 - Windows Selector Bug
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-14 17:42:50 -05:00
Greg Wilkins f35bd03810 Speculative fix for #2233
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-13 16:15:28 +11:00
Greg Wilkins be1a011120 more robust test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-13 14:26:52 +11:00
Greg Wilkins 74f5b9898f simplified testSelectorWakeup #2219
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-13 13:42:35 +11:00
Greg Wilkins cf0b6140fe
Merge pull request #2299 from olamy/feature/available_processors
#2298 Override the processor number with an environment variable
2018-03-08 08:36:52 +11:00
Simone Bordet a3100e0211 Issue #2288 - Cleanup the statistics classes. (#2290)
* Issue #2288 - Cleanup the statistics classes.

Cleaned up code, added Javadocs.
Renamed SampleStatistics.set(long) to record(long).

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

* toString stddev

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-08 08:35:21 +11:00
olivier lamy 7004aaa538 #2298 Override the processor number with an environment variable
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-03-07 21:02:26 +10:00
Greg Wilkins 5216d07124 Better dump for ManagedSelector
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-07 18:06:57 +11:00
Greg Wilkins bcb9fa3b32
Merge pull request #2257 from lachlan-roberts/jetty-9.4.x-2206-ReferenceEquality
Resolved errorprone ReferenceEquality warnings #2206
2018-03-07 11:11:40 +11:00
Greg Wilkins daeaad7624 improve test timing
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-06 19:03:46 +11:00
Greg Wilkins 2291d12b87 more robust idle test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-06 15:34:42 +11:00
Greg Wilkins f6d9393bb5 more robust test by avoiding sleep
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-06 14:35:31 +11:00
Lachlan Roberts 020ebde77c found additional ReferenceEquality warnings which have been resolved
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-06 14:28:11 +11:00
Joakim Erdfelt 2879d5a5a0
Merge pull request #2277 from eclipse/jetty-9.4.x-2255-notify_ssl_handshake_on_write_failures
Issue #2255 - Notify SSL handshake failures on write failures.
2018-03-02 09:45:38 -06:00
Lachlan Roberts a639ee9275 Resolved errorprone MissingOverride warnings #2206
`@Override` was added to methods which were missing the annotation #2206

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-01 13:59:25 +11:00
Joakim Erdfelt a05b157c03 Updating to version 9.3.24-SNAPSHOT 2018-02-28 16:39:30 -06:00
Joakim Erdfelt 0554f8d8b4 Updating to version 9.3.23.v20180228 2018-02-28 15:45:57 -06:00
Simone Bordet 718ac76815 Issue #2255 - Notify SSL handshake failures on write failures.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-28 21:32:42 +01:00
Lachlan Roberts 480c0e718a Merge branch 'jetty-9.4.x' into jetty-9.4.x-2206-ReferenceEquality 2018-02-28 16:14:49 +11:00
Lachlan Roberts 0cfc25d4ed Resolved errorprone ReferenceEquality warnings #2206
Objects which inherit or implement an `equals()` method should not be compared with == or !=
When the comparison of references is intentional `@SuppressWarnings("ReferenceEquality")` can be used

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-02-28 14:26:02 +11:00
Simone Bordet f4b82755ad Now also logging the readyOps of the key that has been selected.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-27 12:03:36 +01:00
Greg Wilkins 0cb4f5629d
Jetty 9.4.x 1803 proposal 0+2 (#2199)
Merging this PR for #2199 as we currently think it is not worse than previous and the code base is definitely simpler.   While JMH has shown significant benefits for this approach, we have yet been able to demonstrate them in full scale integration tests - however that is likely due to GC and thread pool issues dominating.

A `org.eclipse.jetty.http2.PEC_MODE` System property has been added to allow the EWYK scheduling to be disabled for HTTP/2 if need be.


* Implementation of #1803 proposal 2 - EITHER dispatch type for EWYK
* made code more readable
* increase small threadpools in tests for extra reserved thread
* clean up
* minor code simplifications
* Work in progress to simplify reserved thread pool
* use a single ReservedThreadPool built into the QueuedThreadPool
* fixed javadoc
* removed more old reserved thread references
* disable EWYK for h2
* fixes from review
* use EWYK for HTTP2
* Fixed javadocs, imports and QueuedThreadPool constructors.
* fix javadoc
* EWYK avoid unnecessary pendings
* after review
* fixed merge with jetty-threadpool.xml
* alternate EWYK implementations
* added jetty copyright headers
* Simplified EWYK code after review
* fixed bad merge
* Code cleanups.
* Improved Javadocs for deprecated property "reservedThreads".
* Improved Javadocs for deprecated property "reservedThreads".
* added a system property to enable only PEC for HTTP/2

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-27 14:29:59 +11:00
Greg Wilkins 8bd27cd18a improved or ignored tests #2230
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-23 14:52:37 +11:00
Greg Wilkins c751a8b1bb improve fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-23 08:29:31 +11:00