Commit Graph

2772 Commits

Author SHA1 Message Date
Greg Wilkins 338f56ea93 Issue #3361 thread safe addHandler
Improved names and javadoc.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-20 18:36:48 +11:00
Greg Wilkins 1accced62f Issue #3361 thread safe addHandler
Added new thread safe methods deployHandler and undeployHandler

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-20 18:18:55 +11:00
Greg Wilkins 7b407ecb6c Issue #3440 Stop failed lifecycle
stop in reverse order.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-12 22:44:12 +11:00
Greg Wilkins a9707471a0 Issue #3440 Stop on Unavailable
+ ContainerLifeCycle stops started beans on failure.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-11 17:10:03 +11:00
Olivier Lamy c3719b2bab
Add jdk12 build in Jenkinsfile (#3376)
* add jdk12 build stage
* test last release of infinispan for jdk12 build
* fix upperBound dependency for jboss logging
* upgrade juniper to 5.4.0 and disable infinispan test if JRE.JAVA_12
* Fixed annotations to exclude any JDK > 11 for 3 tests.

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-27 12:37:21 +10: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
Joakim Erdfelt 8969c9a18c Issue #3278 - more cleanup based on review of older codebase with simone 2019-02-14 08:02:24 -05:00
Joakim Erdfelt a105c44856 Issue #3278 - code reformatting 2019-02-14 07:48:05 -05:00
Joakim Erdfelt 432ed1f584 Issue #3278 - changes from review with simone 2019-02-14 07:43:17 -05:00
Joakim Erdfelt 1150f20ed9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3278-empty-resourcecollection 2019-02-13 17:17:42 -05:00
Joakim Erdfelt a6c626a891 Fixing Javadoc 2019-02-13 17:17:11 -05:00
Joakim Erdfelt 7ee7554b8f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3278-empty-resourcecollection 2019-02-13 17:09:38 -05:00
Simone Bordet 47871fb41e Fixes #3154 - Add support for javax.net.ssl.HostnameVerifier to HttpClient.
Added javadocs after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-06 22:31:28 +01:00
Joakim Erdfelt 12628adc10 Issue #3278 - ResourceCollection NPE
+ Adding tests + more NPE / ISE / IAE fixes

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-06 11:46:34 -06: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
Jan Bartel ebef147d93 Issue #3278 Empty ResourceCollection throws NPE
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-02-05 16:14:18 +11:00
Simone Bordet e4d78608a7 Issue #3049 - Warn on common SslContextFactory problematic configurations.
Made default endpointIdentificationAlgorithm=HTTPS to avoid warnings
when SslContextFactory is used on a server.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-23 17:31:41 +01:00
Joakim Erdfelt 87c82ae644 Issue #3242 - Allow Dumpable to control how self is represented
+ Do not rely on Object.toString() for representing self (aka:this)
  in the dump output.  Using Object.toString() can result in lots
  of duplicated information in the dump (and super long lines)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-08 15:47:17 -06: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 92317a7bb4 Issue #3132 improve dump readability
fixed tests

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-23 16:54:36 +01:00
Greg Wilkins fc0d2569ef Issue #3132 improve dump readability
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-22 18:08:46 +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
Simone Bordet f2ed692a1b
Merge pull request #3099 from eclipse/jetty-9.4.x-HttpClient-dump-improvements
Fixes Issue #3103 - HttpClient buffer leak found by dump improvements

The leak problem was an additional, unnecessary, call retain() in ResponseNotifier.notifyContent() that was leaking `ByteBuffer`s.
2018-11-13 18:04:17 +01:00
Greg Wilkins d0afc63cd5 Fixing HttpClient tests to configure before start 2018-11-13 14:22:19 +01: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 422f4d9341 Issue #3085 - Restore Dump methods for backwards compatibility reasons.
Removed dead code.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-09 18:53:50 +01: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
Jan Bartel 871f73cdf6
Jetty 9.4.x 2932 switchable classloader for session attribute values (#2964) 2018-11-06 10:03:48 +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 b69f8e4084
Issue #2886 Handle SNI with non SNI certificates (#2888)
* Issue #2886 Handle SNI with non SNI certificates

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

* Issue #2886 Single SNI with default certificate
2018-11-02 05:20:17 +01:00
Greg Wilkins bb045f641e
Issue #3049 Warn on common SslContext vulnerable configurations (#3050)
* Issue #3049 Warn on common SslContext vulnerable configurations

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

* Adding documentation notes for weak cipher warnings

Signed-off-by: WalkerWatch <ctwalker@gmail.com>

* Issue #3049 - SslContextFactory warnings on known bad config

+ Changes warnings from being a boolean on SslContextFactory
  to being a logger named
  "org.eclipse.jetty.util.ssl.SslContextFactory.config"

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

* Issue #3049 - SslContextFactory warnings on known bad config

+ Cleanup based on review

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

* Issue #3049 - SslContextFactory warnings on known bad config

+ Cleanup based on review

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-11-02 05:19:03 +01:00
Simone Bordet 66d6ea6799 Issue #2998 - Cleanup the dump implementation.
Fixed dump() in QueuedThreadPool.
When the dump was not detailed, it was printing jobs=0 even if there
were jobs in the queue.
Given that it was adding no information (actually misleading information)
and that the queue size is already reported by QueuedThreadPool.toString()
the jobs are not dumped if the dump is not detailed.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-23 12:05:32 +02: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
Joakim Erdfelt edc47818e2
Merge pull request #2899 from quaff/jetty-9.4.x
Fix outdated bundle vendor
2018-10-19 10:45:42 -05:00
Joakim Erdfelt a10c84c40a Issue #3001 - making test more resilient to environments without UTF-8 filesystem support 2018-10-19 10:20:10 -05:00
Greg Wilkins d048dd321e
Merge branch 'jetty-9.4.x' into jetty-9.4.x 2018-10-18 17:07:24 +11:00
Greg Wilkins 8b5d4c7e49
Merge pull request #2968 from lachlan-roberts/jetty-9.4.x-2702-ArithmeticException-Credential
Issue #2702 - ArithmeticException in Credential.stringEquals and .byteEquals
2018-10-18 16:54:16 +11:00
Simone Bordet d25bf815fd
Merge pull request #2934 from eclipse/jetty-9.4.x-2191-jpms_automatic_module_name
Jetty 9.4.x 2191 jpms automatic module name
2018-10-10 23:57:40 +02:00
Lachlan Roberts e727ad893d Fixes #2702 - ArithmeticException in Credential.stringEquals and .byteEquals
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-10-10 16:10:29 +11:00
Lachlan Roberts 856b46b4b7 Issue #2892 - NPE in MultiPartInputStreamParser#getPart
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-10-10 15:17:07 +11:00
Simone Bordet bd3eeeaa3f Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-2191-jpms_automatic_module_name'. 2018-10-04 12:27:31 +02:00
Greg Wilkins 9d37feba3c
Cleanup after #2903 (#2933)
Improved dump output of ServletHandler and ContextHandler
Fixed duplicate listeners
Removed unused fields

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-10-03 10:00:14 +10:00
Simone Bordet 103b1292ea Fixed annotations on tests that should run on specific JDK versions.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-02 15:16:58 +02:00
Simone Bordet e4ff653295 Issue #2191 - JPMS Support.
Introduced --jpms option in jetty-start to run Jetty from the module-path.

Introduced [jpms] sections in *.mod files, to specify JPMS command line
options that needs to be added to the command line generated by jetty-start.

Bumped java.transaction-api to 1.3 because it has Automatic-Module-Name.

Fixed ASM version lookup using ManifestUtils.

Fixed WebInfConfiguration.findAndFilterContainerPaths() to properly
scan the module-path, which may contain both files and directories.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-09-25 22:11:25 +02:00
Simone Bordet 78d529b13a Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-2191-jpms_automatic_module_name'. 2018-09-24 15:23:30 +02:00
Olivier Lamy 71a1801433
Issue #2918 restore a TestTracker with junit5 (#2927)
* add TestTracker junit5 extension #2918

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-21 14:03:05 +10:00
Simone Bordet 60e3562f99 Issue #2191 - JPMS Support
Turns out that Package.getImplementationVersion() and similar return
null when running from the module path, so the logic in StartArgs
broke and prevented Jetty to start.

Introduced ManifestUtils to retrieve the manifest file from JarFile,
so that attribute entries can be retrieved independently from the JDK
version or module-path vs class-path.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-09-17 19:32:00 +02:00
Olivier Lamy 98cc338d2e
get rid of remaining legacy junit (#2900)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-13 07:11:09 +10:00
Yanming Zhou cd7138131e Fix outdated bundle vendor
Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2018-09-12 10:56:05 +08:00
Joakim Erdfelt a69ad3912d Fixing #2481 - PathWatcherDemo NPE
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-09-11 13:21:37 -05: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 1383f60249 Updated Maven Plugin and dependencies versions.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-29 12:22:51 +02:00
Simone Bordet 3b6fa32684
Merge pull request #2855 from eclipse/jetty-9.4.x-issue-2807-new-ssl-exclusions
Issue #2807 - Updating Default TLS Cipher Suite Exclusions
2018-08-24 17:25:49 +02:00
Simone Bordet 325f943834 Issue #2807 - Updating Default TLS Cipher Suite Exclusions.
Clarified comment about exclusions.
2018-08-24 17:24:40 +02:00
Joakim Erdfelt 5e07592a69 Issue #2807 - Updating Default TLS Cipher Suite Exclusions
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-08-24 06:48:16 -05:00
Greg Wilkins c7fc674846
Issue #2798 thread budget warning default to available cores (#2799)
* Issue #2798 thread budget warning default to available cores
* Issue #2798 - Testcase example for ExecutorThreadPool
* Issue #2798 - Better TestCases for ThreadPoolBudget
* Simplified
* Issue #2798 - ThreadPoolBudget improvements.
* Removed unused imports.
* Made fields private.
* Removed field info.
* Changed the logic to print the info on leases only when warning or throwing.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-24 10:15:55 +10:00
Greg Wilkins 460f3fcb9b
Close on graceful #2749 (#2772)
Cleanup of Graceful shutdown, plus ensure Connection:close if connector is shutdown for #2749 
* WIP close connection when shutting down
* WIP use HttpChannel.Listener
* cleanups
* support graceful stop of a context
* only close connections if the connector is shutdown
* minor cleanups
* fixed toString and test
* fixed imports
* Move close logic to HttpConnection
* fixed generator to not override persistent
* Issue #2749 - Close connections on graceful shutdown.
* Small fix after review.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-23 08:08:17 +10:00
Joakim Erdfelt c640f4a4d5 Issue #2811 - Dump fix JreDisabled:java.security to JVM:disabled
+ ensuring SLOTH fix still works with updated testcase
+ Dump detection of JreDisabled:java.security only checked
  default SSLEngine.enabledCipherSuites
  New implementation changes meaning to be more general
  JVM:disabled (as in not selected by default), and
  only reports it as disabled in the dump if not specifically
  included from the SSLEngine.supportedCipherSuites via
  the SslContextFactory.includedCipherSuites configuration

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-08-16 13:49:28 -05: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
Olivier Lamy f4a0bfbdd8
Issue #2746 jmh module (#2750)
#2746 move jmh classes to a dedicated jmh module

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-08-04 14:08:13 +10:00
Olivier Lamy 0ba1d9b5a5
Issue #307 datecache contention (#2725)
* use DateTimeFormatter which is threadsafe so no need of synchronized block  #307

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-07-26 20:46:50 +10: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
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
Greg Wilkins 92ba1375be
Merge pull request #2641 from eclipse/jetty-9.4.x-901-load_truststore
Issue #901 - Overriding SSL context KeyStoreType requires explicit override of TrustStoreType.
2018-06-19 09:01:17 +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
Greg Wilkins 346879f2a5
Merge pull request #2664 from mperktold/jetty-9.4.x
Issue #2662 Unnecessary boxing conversions
2018-06-13 22:52:27 +02:00
Matthias Perktold f901efc413 Issue #2662 - Unnecessary boxing conversions
Signed-off-by: Matthias Perktold <tias251@gmail.com>
2018-06-13 16:20:12 +02:00
Simone Bordet 5165b082b5 Issue #901 - Overriding SSL context KeyStoreType requires explicit override of TrustStoreType.
Improved defaulting values for the truststore, avoiding to default
the password, which is often missing for a truststore.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-08 17:40:23 +02: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
Greg Wilkins 9713dbccd5 Issue #2075 cleanup MultiException to better use suppressed (#2105)
* Issue #2075 cleanup multiexceptio to better use suppressed
* Update MultiException.java fixes from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-06-07 12:51:58 +02:00
Joakim Erdfelt ce09e48b5b [WIP] Issue #2597 - Improving UnixSocketTest behavior. (#2635)
* Issue #2597 - Improving UnixSocketTest behavior.

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

jnr doesn't like filename/path with strange character so use a new property for jenkins build with docker

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-06-07 15:39:56 +10:00
Joakim Erdfelt b98dcb4155 Revert "Fixing #2628 - using proper target/tests/ directory"
This reverts commit 9209343

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-06 20:05:06 -05: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 9209343bce Fixing #2628 - using proper target/tests/ directory
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-06 16:14:49 -05:00
Greg Wilkins 74fc3710ba Issue #2628 Ignore test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-06-06 11:05:53 +02: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
Joakim Erdfelt 79935b92ae Issue #2575 - Work around bad Bundle.getEntry() behavior with unescaped URLs (#2590)
* Adding test case to verify existing PathResource behavior
* Skipping Resource class usage in OSGi entirely
* Only using the URL class, and removing of conversions to
  other more correct forms (File and URI)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-05 10:12:50 +02:00
Simone Bordet 65748093bd Fixes #2618 - ProcessorUtilsTest fragile.
Introduced ProcessorUtils.setAvailableProcessor(int) to allow
usage in embedded code without resorting to system properties.

Refactored the static initializer to be testable.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-04 18:15:45 +02:00
Simone Bordet 77df9e1d87 Fixes #2619 - Test Failure: QueuedThreadPoolTest.testThreadPool().
Now newly created threads set _lastShrink to avoid they are immediately
removed from the pool if they happen to meet the shrink conditions.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-04 17:46:08 +02:00
Simone Bordet c6cc33805f Issue #2619 - Test Failure: QueuedThreadPoolTest.testThreadPool().
Cleanup of QueuedThreadPoolTest.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-04 17:46:08 +02:00
Simone Bordet 5fc0f323aa Fixes #2568 - QueuedThreadPool.getBusyThreads() should take into account ReservedThreadExecutor.getAvailable().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-01 17:14:07 +02:00
Joakim Erdfelt 53e8bc2a63 Backport of issue #2560 fixes to jetty-9.3.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-05-31 12:43:17 -05:00
Joakim Erdfelt c4bcc4005a Merge branch 'jetty-9.4.x-issue-2560-pathresource-exceptions' of github.com:eclipse/jetty.project into jetty-9.4.x-issue-2560-pathresource-exceptions 2018-05-31 11:32:24 -05:00
Joakim Erdfelt ad4dceb1c0 Issue #2560 - Moving InvalidPath logic from PathResource to ResourceContentFactory
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-05-31 11:31:36 -05:00
Joakim Erdfelt c36390967f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-issue-2560-pathresource-exceptions 2018-05-31 10:15:11 -05:00
Greg Wilkins eb3461fd84
Merge pull request #2582 from LukeButtersFunnelback/jetty-9.4.x
Stop creating unnecessary exceptions with MultiException #2580
2018-05-30 11:18:08 +02:00
Luke Butters e7b3f6319e Remove the virtual method called from constructor & simulate a builder.
1. The virtual method to stop fillInStackTrace() from being called by the
constructor has been removed.
2. The public no argument constructor for MultiException puts the class
into a builder mode where it just lets you add exceptions.
MultiException created from the constructor should not be thrown because
fillInStackTrace() is not called.
3. In the `ifExceptionThrow*()` methods a new `MultiException` is
created, with the stack trace filled, before it is thrown.

Signed-off-by: Luke Butters <lbutters@funnelback.com>
2018-05-30 17:04:24 +10:00
Joakim Erdfelt be61fabc63 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-issue-2560-pathresource-exceptions 2018-05-29 12:09:07 -05:00
Greg Wilkins 2bcc528920 expand spruious tabs in java sources
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-29 10:40:09 +02:00
Luke Butters 7e3242b5cc Stop creating unnecessary exceptions with MultiException #2580
This doesn't actually stop creating the unnecessary exception instead it
stop running the expensive `fillInStackTrace()` unless we actually need
it.

This does result in the stack trace being set to where we throw the
exception rather than when we create it.

Signed-off-by: Luke Butters <lbutters@funnelback.com>
2018-05-29 13:43:17 +10:00
Joakim Erdfelt 65de2c6690 Issue #2560 - Review of PathResource exception handling
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-05-22 10:30:30 -05:00
Greg Wilkins bf8dd121b0 reduced test race
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-18 10:20:47 +10:00
Simone Bordet d8795350a4 Issue #2525 - Clean up SharedBlockingCallback.
Cosmetics.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-15 17:05:24 +02:00
Simone Bordet b4f2e6ddea Issue #2525 - Clean up SharedBlockingCallback.
Improved tests.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-14 12:11:10 +02:00
Simone Bordet a719c29b40 Issue #2525 - Clean up SharedBlockingCallback.
Improved test logging.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-14 12:08:33 +02:00
Simone Bordet 317a8a5c66 Issue #2525 - Clean up SharedBlockingCallback.
Small cleanups and added test for thread interruption.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-14 10:27:34 +02:00
Greg Wilkins 625d1f7726 Issue #2525 Clean up SharedBlockingCallback
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-13 23:11:38 +10:00
Simone Bordet 0374d40cae
Issue #2439 - Remove HTTP/2 data copy. (#2444)
* Issue #2439 - Remove HTTP/2 data copy.

Implemented reference counting for the network buffer, with the
semantic that calling succeeded() on callbacks decrements the
reference count.
Introduced interface Retainable, used by the client when notifying
multiple application content listeners.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 09:39:57 +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
Joakim Erdfelt 1f835b9f23 Issue #2498 - new QTP.removeThread(Thread) method (#2499)
+ Adding removeThread(Thread) to allow instrumentation
  libraries to track removal of threads from Pool.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-05-03 07:32:49 +10:00
Greg Wilkins 97ec0b078d Better toString on ExecutorThreadPool #2478
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-04-26 14:47:31 +10:00
Simone Bordet 0a4d62c91d
Issue #2468 - EWYK concurrent produce (#2477)
Fixes #2468 - EWYK concurrent production.

Fixed the case when a task throws an exception, which causes
the thread that ran the task to continue production, even
when it should not.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-04-25 17:59:58 +02:00
Greg Wilkins 67ebdea11b Directly set warnAt to minThreads #2464
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-04-20 08:12:34 +10:00
Greg Wilkins 11854f502c Directly set warnAt to minThreads #2464
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-04-20 08:10:20 +10:00
Olivier Lamy c7e78ae896
update logging versions #2461 (#2465)
* update logging versions #2461

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-19 15:45:11 +10:00
Greg Wilkins 6d0ff04dab Directly set warnAt to minThreads #2464
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-04-19 15:38:22 +10:00
Simone Bordet fac93fa7f8 Fixes #2451 - Review ReservedThreadExecutor.getAvailable().
Fixed by having getAvailable() returning _stack.size().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-04-17 16:30:06 +02:00
Olivier Lamy f36eba4577
class.newInstance is deprecated #2435 (#2437)
* Class.newInstance() is deprecated in Java 9+ #2435

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-17 19:07:20 +10:00
Simone Bordet 7629a8f98f
Fixes #2425 - Review BufferUtil.isMappedBuffer(). (#2432)
Now explicitly using a _mappedBuffer field in
CachedContentFactory.CachedHttpContent.
Deprecated BufferUtil.isMappedBuffer().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-04-12 10:36:57 +02:00
Joakim Erdfelt ceded0bbae Issue #2413 - Using Instant.toString() to be consistent with timestamp
Example output:

JDK 8:

2018-04-04 22:30:25.578:INFO:oejs.Server:main: jetty-9.4.10-SNAPSHOT; built: 2018-04-04T22:22:03.202Z; git: 2b32f82aeb64acc6105c08d8a7a141279f8b91d0; jvm 1.8.0_131-b11

JDK 9:

2018-04-04 22:29:39.035:INFO:oejs.Server:main: jetty-9.4.10-SNAPSHOT; built: 2018-04-04T22:22:03.202Z; git: 2b32f82aeb64acc6105c08d8a7a141279f8b91d0; jvm 9+181

JDK 10:

2018-04-04 17:29:07.568:INFO:oejs.Server:main: jetty-9.4.10-SNAPSHOT; built: 2018-04-04T22:22:03.202Z; git: 2b32f82aeb64acc6105c08d8a7a141279f8b91d0; jvm 10+46

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-04-04 17:32:20 -05:00
Joakim Erdfelt 9147e408c8
Merge pull request #2392 from eclipse/jetty-9.4.x-issue-2387-uriutils-jarfile
Issue #2387 - fixing URIUtil.equalsIgnoreEncoding() with jar:file:// uris
2018-04-04 06:16:35 -05:00
Greg Wilkins c41b6b7aab
Merge pull request #2332 from eclipse/jetty-9.4.x-1027-Multipart
## SearchPattern
New class which does a fast search for patterns within strings and arrays of bytes using an implementation of the Boyer–Moore–Horspool algorithm. This was written to be used in the new MultiPartParser class to search for delimeter boundaries.

## MultiPartParser
New class which uses the SearchPattern to parse a MultiPart Mime given a ByteBuffer. Written in a non-blocking style so can be used asynchronously (although not currently be being used this way).

## MultiPartFormInputStream
New class which uses the MultiPartParser to parse a MultiPart Mime input stream into a Collection of Parts. This class is in org/eclipse/jetty/http and is designed to replace org/eclipse/jetty/util/MultiPartInputStreamParser.

## MultiPartInputStreamParser and Non Compliances
This class has been deprecated and replaced by org.eclipse.jetty.http.MultiPartFormInputStream. It accepts formats non compliant with the RFC that the new MultiPartFormInputStream does not accept. When this occurs violations are recorded by the method getNonComplianceWarnings().

## MultiParts
New interface to allow switching between the different implementations. This allows MultiParts to function in two different modes. The LEGACY implementation using the UTIL parser which may parse forms containing non compliances with the RFC, and the RFC7578 implementation using the new and faster HTTP parser. This file contains the implementations of MultiParts for HTTP and UTIL parsers as nested classes which are used by Request.

## Request
Changed to use the new MultiParts interface instead of the MultiPartInputStreamParser class. with a method called newMultiParts which will construct a MultiPart using one of the HTTP or UTIL implementations depending on what compliance mode is set.

## Jetty Test Webapp Dump Servlet
Code added to display parts while running the dump test webapp if MuliPart form is submitted.

## MultiPartBenchMark
JMH Benchmark of the HTTP multipart parser vs the UTIL multipart parser.

testLargeGenerated parses a 10MB file of random binary data.
testParser parses a series of small multipart forms captured by a browser.
```
# Run complete. Total time: 00:02:09

Benchmark                              (parserType)  Mode  Cnt  Score   Error  Units
MultiPartBenchmark.testLargeGenerated          UTIL  avgt   10  0.252 ± 0.025   s/op
MultiPartBenchmark.testLargeGenerated          HTTP  avgt   10  0.035 ± 0.004   s/op
MultiPartBenchmark.testParser                  UTIL  avgt   10  0.028 ± 0.005   s/op
MultiPartBenchmark.testParser                  HTTP  avgt   10  0.015 ± 0.006   s/op
```
2018-04-04 17:30:36 +10:00
Lachlan Roberts 1c35324f5b Fixed some javadoc errors and warnings
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-04 09:46:50 +10:00
Greg Wilkins 85f300d264 fixed javadoc warning
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-04-04 08:50:03 +10:00
Lachlan Roberts 13b15e3566 Resolved Charset Issues and Reworked Request.MultiPartInputStream
Changed Request.MultiPartInputStream to an interface called MultiParts where there is an implementation for both the HTTP and UTIL parsers.

Resolved some issues with default charsets in regards to request.setCharacterEncoding and the _charset_ part for issue #2398.

Changed HTTP parser to operate the same as UTIL parser in situtions with parts not of type form-data or without name field. HTTP parser was ignoring these parts, UTIL parser was throwing exceptions.

Replaced the context attribute with a field in MultiParts.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-03 15:24:54 +10:00
Lachlan Roberts be2d6ebb29 Merge remote-tracking branch 'eclipse/jetty-9.4.x' into jetty-9.4.x-1027-Multipart 2018-04-03 12:36:54 +10:00
Mat Booth c316cf1cfe Make the requirement on "osgi.serviceloader.processor" optional (#2377)
This allows Eclipse to continue to make use of jetty-* bundles
without requiring the presence of Apache Aries.

This fixes a problem introduced by the resolution to #2164 and
the same solution is used as in 10cdf16

See also the discussion at Eclipse:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=532294

Signed-off-by: Mat Booth <mat.booth@redhat.com>
2018-04-03 12:25:50 +10:00
Joakim Erdfelt c5d4897a5f Issue #2387 - fixing URIUtil.equalsIgnoreEncoding() with jar:file:// uris
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-28 10:48:28 -05:00
Simone Bordet a28ec963d1 Issue #2388 - AtomicBiInteger.compareAndSet(long,int,int) not using encoded parameter.
Using capital 'L' for long literals to avoid confusion with '1'.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-28 11:36:50 +02:00
Greg Wilkins 56fc71a54a fix sign extension #2388
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-28 11:05:49 +11:00
Simone Bordet ef48bc6f58 Fixes #2388 - AtomicBiInteger.compareAndSet(long,int,int) not using encoded parameter.
Fixed method, added Javadocs and cleaned up code with a few renamings
to better comply with AtomicLong naming.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-28 00:37:21 +02:00
Greg Wilkins 4a8c586760 removed duplicated test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-27 13:03:23 +11:00
Lachlan Roberts ce3698ea75 Merge remote-tracking branch 'eclipse/jetty-9.4.x-1027-Multipart' into jetty-9.4.x-1027-Multipart 2018-03-27 09:19:47 +11:00
Lachlan Roberts ca534d08fb Minor changes to code, documentation and formatting after review.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-27 09:11:57 +11:00
Greg Wilkins 2cc26f0e71 Merge branch 'jetty-9.4.x' into jetty-9.4.x-1027-Multipart 2018-03-23 09:34:52 +11:00
Joakim Erdfelt c0dcf9a0a2 Issue #1027 - multipart testing examples
Adding raw/binary gitattributes

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-21 18:07:30 -05:00
Greg Wilkins 8312f4567b Merge branch 'jetty-9.4.x' into jetty-9.4.x-1027-Multipart 2018-03-21 16:50:29 +11:00
Lachlan Roberts 0f28107a9c Implemented warnings for old MultiPartInputStreamParser when successfully parsing content not conforming to RFC.
Modified tests in new MultiPartInputStreamTest which were failing because they didn't comply with RFC.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-21 16:24:21 +11: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
WalkerWatch 534b8ea38b Add edit warning for .mod files. Resolves #173 2018-03-15 13:23:42 -04:00
Greg Wilkins 4ce7e9591b Safer simpler version parsing #2284
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-15 22:49:20 +11:00
Joakim Erdfelt 3f33013fb3
Merge pull request #2331 from eclipse/jetty-9.4.x-2284-saferVersionParse
Safer simpler version parsing #2284
2018-03-15 04:44:04 -05:00
Greg Wilkins afc820c7f9 fixed test by removing extra produce
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-15 10:19:49 +11:00
Greg Wilkins a41f7bd927 More debug in test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-14 16:57:15 +11:00
Greg Wilkins a5d3b01659 Merge branch 'jetty-9.4.x' into jetty-9.4.x-1027-Multipart 2018-03-14 16:25:56 +11:00
Greg Wilkins a810ecf67e Fixed test with atomic
the --task was not protected with a memory barrier, so different producing threads could contend on the field.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-14 15:59:37 +11:00
Greg Wilkins a77a127da0 tests and fixes for binary keys and content
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-14 15:02:56 +11:00
Greg Wilkins 01e8cf440e Safer simpler version parsing #2284
For #2284 no longer parse the optional detail of the java version.
Parse failures will result in a guessed JVM platform 8

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-14 10:12:44 +11:00
Greg Wilkins 46a8fb5dc4 fixes for partial pattern matches and optional CRLF
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-13 17:40:26 +11:00
Greg Wilkins a82964fba1 Merge remote-tracking branch 'lachlan/jetty-9.4.x-1027-SearchPattern' into jetty-9.4.x-1027-Multipart 2018-03-12 17:23:43 +11:00
Lachlan Roberts affb436433 changes after review 1
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-09 10:03:28 +11:00
Greg Wilkins dc67cb5241 Work in progres #1027
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-08 17:47:46 +11:00
Greg Wilkins 25b8933d34 Merge remote-tracking branch 'lachlan/jetty-9.4.x-1027-SearchPattern' into jetty-9.4.x-1027-Multipart 2018-03-08 15:05:35 +11:00
Simone Bordet f6c1b76e71 Issue #2131 - Introduce a monitored thread pool. (#2260)
* Issue #2131 - Introduce a monitored thread pool.

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

* Issue #2131 - Introduce a monitored thread pool.

Updated to use SampleStatistic and CounterStatistics.

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

* Issue #2131 - Introduce a monitored thread pool.

Adding statistics fields as beans.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-08 08:47:31 +11:00
Greg Wilkins 35be19b818 Also use system property #2298
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-08 08:46:24 +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
Lachlan Roberts 946341bf85 added missing class name SearchPatternTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-08 08:28:12 +11:00
olivier lamy 8dffd7e476 fix javadoc
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-03-07 22:07:49 +10:00
Lachlan Roberts bfbe52754b completed some javadoc on compile and constructor methods
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-07 22:10:35 +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 74055b9837
Jetty 9.4.x 2293 pending multiplexed (#2294)
Issue #2293 Pending Multiplexed Connections

Added a AtomicBiInteger to allow both total connections and pending connections to be encoded in the
same atomic int.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-07 19:31:22 +11:00
Lachlan Roberts 809aee129e Completed SearchPattern class and tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-07 17:38:44 +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
Lachlan Roberts f68cf85e94 fully implemented the complile and match methods, written some tests for this
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-07 10:10:50 +11:00
Greg Wilkins a272fb6e39
Improve executorSizedThreadPool (#2253)
Improve executorSizedThreadPool (#2253)

* Improve executorSizedThreadPool

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

* Improved implementation.

Implemented name, thread priorities, thread group and daemon properties.
Implemented toString(), dump() and using a thread factory.

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

* added threadpool benchmark;

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

* Renamed ExecutorSizedThreadPool to ExecutorThreadPool

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-06 19:07:41 +11:00
Greg Wilkins 9f2e4fd1f4 extra debug on test failure
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-06 18:59:56 +11:00
Lachlan Roberts 1b3ad11ef9 work in progress
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-06 16:22:03 +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
Greg Wilkins 4b62ab6006 Handle tilde in java version options #2284
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-06 14:17:30 +11: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
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 016c8076e0 updates after review #2206
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-02-28 16:02:47 +11:00
Greg Wilkins 48eebacd6c more robust test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-28 14:28:58 +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
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
Lachlan Roberts 67d12a0839 Updates from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-02-27 12:12:40 +11:00
Lachlan Roberts cf5b501254 Resolved default charset warning in jetty-util for #2206
Ignored warning in B64Code
US-ASCII in UnixCrypt

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-02-27 11:09:47 +11:00
Joakim Erdfelt 8515f809ca Fixes #2224 - windows rollover file tests 2018-02-23 14:39:34 -06:00
Greg Wilkins e46459e8a8 improve fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-22 17:29:29 +11:00
Greg Wilkins 1e76caf00d removed fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-22 13:58:05 +11:00
Greg Wilkins adcb2762fe Improved testShrink to be more robust to timing issues
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-22 09:53:49 +11:00
Greg Wilkins 693aa04e03
Merge pull request #2200 from olamy/feature/errorprone
[WIP] Feature errorprone compiler
2018-02-21 16:30:34 +11:00
olivier lamy 7cc1a376a3 formatting
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-02-21 11:05:49 +10:00
Greg Wilkins af06fddef1 less fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-20 17:36:29 +11:00
Jan Bartel df012bb0a3 Issue #2164 correct manifest headers for ServiceLoader use in osgi
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-02-20 16:28:39 +11:00
Greg Wilkins 3ae713f2d4 less fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-20 13:49:41 +11:00
Greg Wilkins 386dfc0331 less fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-20 11:32:49 +11:00
Greg Wilkins ec51926622 reduce fragility of tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-19 19:22:32 +11:00
olivier lamy bd0b440da9 fixing one errorprone error, ATM configure it to generate warning and not errors, let see if we can collect in jenkins
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-02-19 13:37:28 +10:00
David Ha a01e4a0f49 qtp constructor min-max validation
When min and max threads are passed together, verify
max >= min to detect bad configuration.

Signed-off-by: David Ha <davidha@1493.net>
2018-02-08 10:32:58 -05:00
Simone Bordet 6bbd89e5db Added NoTryExecutor.toString() for better dumps.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-08 11:11:01 +01:00
Greg Wilkins ab5fc29cca Jetty 9.4.x 1803 proposal 0 - single ReservedThreadExecutor (#2119)
Issue #1803 - Review usage of scheduling strategies

Use a single ReservedThreadExecutor built into the QueuedThreadPool
via new interface TryExecutor.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-08 11:08:48 +01:00
Joakim Erdfelt 3001c8af2f Merge remote-tracking branch 'origin/release-9.2.24' into jetty-9.2.x 2018-02-07 15:35:04 -06:00
Joakim Erdfelt fe2be81783
Merge pull request #2149 from eclipse/jetty-9.4.x-2148-bufferutil-todetailstring
Issue #2148 - Limit BufferUtil.toDetailString() raw character display to USASCII 7-bit printable characters
2018-01-22 11:23:54 -06:00
Joakim Erdfelt 3e28e50693 Issue #2148 - Limit BufferUtil.toDetailString() raw character display to USASCII 7-bit printable characters
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-01-22 11:22:50 -06:00
Greg Wilkins e0eab58c24 Issue #1797 - JEP 238 - Multi-Release JAR files break bytecode scanning. Fixed for java 10
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-15 16:40:57 +01:00
Greg Wilkins 7138dc3828
Jetty 9.4.x #1918 scalable scheduler3 (#2101)
* Scalable scheduler changes for #1918
* Added HttpChannel.destroy to destroy CyclicTimer
* fixed rebase with HttpConnectionOverFCGI
* renamed to acquire
* Destroying the HttpChannel consistently in all transports.
* updated headers
* cleanup after final review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-10 16:56:41 +01:00
Greg Wilkins 356bf2e06f
Issue #2046 - Graceful stop of connections (#2100)
* Clean up of actions (now updates) prior to #2046 fix
* prevent exceptions from termincating lifecycle doStop or destroy
* Refactored ManagedSelector stop to always close endpoints
* Fixed NPE if SelectorManager is already stopped
* refactored after review
* further simplifications after review
* Wait only for oshut endpoints
* Cleanup from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-09 20:36:41 +01:00
Joakim Erdfelt 21365234f8 Issue #2108 - Updating license headers for year 2018 2018-01-09 09:44:41 -06:00
Joakim Erdfelt 41ed9f29f4 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2018-01-09 09:37:25 -06:00
Joakim Erdfelt fa4c7b0ca9 Issue #2108 - Updating license headers for year 2018 2018-01-09 08:39:37 -06:00
Joakim Erdfelt 067fc5d2d8 Issue #2108 - Upgrade licenses for 2018 2018-01-09 07:42:06 -06:00
Greg Wilkins 88cf4603c5
Merge branch 'jetty-9.4.x' into bugfix/javadoc_fixes_2056 2018-01-08 21:31:48 +01:00
Greg Wilkins 26a4909c88
Use shaded utils in start for JavaVersion and TopologicalSort #2090 (#2094)
* shaded TopologicalSort. Use shaded start in jetty-home
* removed unused property
* jetty-start shaded dependency
* removed component dependencies from TopologicalSort

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-06 11:23:37 +01:00
Joakim Erdfelt bd01e1877a Updating to version 9.2.25-SNAPSHOT 2018-01-05 11:35:42 -06:00
Joakim Erdfelt a617842695 Updating to version 9.2.24.v20180105 2018-01-05 10:11:08 -06:00
Greg Wilkins 595c6ac1ee Issue #2090 Java Version JEP223. Use shaded util in start. 2018-01-04 13:13:39 +01:00
Greg Wilkins a107e543e6 Issue #2090 Java Version JEP223 2018-01-04 12:27:15 +01:00
Greg Wilkins 54c55b602f
ManagedSelector dump improvements from #1970 (#2062)
* ManagedSelector dump improvements from #1970

ManagedSelector dump improvements from #1970:
 + DumpKeys is now prepended to actions list so it is less likely to be delayed by a stuck/busy selector
 + Timestamps are included for actions and keys which may be separated by time
 + Race removed race for updating dumpKey list while it is being added to.

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

* moved utility timestamp format method to Log

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

* updates after review

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

* changes after review

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

* Issue #1970 - ManagedSelector dump improvements.

Code cleanups.

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

* Revert "Issue #1970 - ManagedSelector dump improvements."

This reverts commit 4febaf10dc.

* Fixed imports and other review feedback

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-02 11:13:24 +01:00
olivier lamy 3a189ab254 #2056 javadoc warning fixes WIP
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-12-20 10:52:45 +11:00
Greg Wilkins 0c021f2599 EWYK cleanups from #1970
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-19 09:51:11 -08:00
Joakim Erdfelt 2dd970b055 Updating to version 9.2.24-SNAPSHOT 2017-12-18 10:43:47 -06:00
Joakim Erdfelt cdbe733684 Updating to version 9.2.23.v20171218 2017-12-18 09:06:48 -06:00
Greg Wilkins 8660055574
Issue #2010 Support FIPs Key Managers (#2044)
Issue #2010 Support FIPs Key Managers, by only wrapping the default Key Manager if we have wildcard CN's or more than 1 non wild CN.  FIPs users will need to install a
keystore than has no multiple certificates than can only be resolved by SNI. They will also need to have no certificate aliases.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-14 00:15:58 +01:00
Greg Wilkins 6ca975a1aa ignore bad timestamp 2017-12-07 12:25:02 +01:00
Joakim Erdfelt 70fe268bde Merge branch 'release-9.4.8' into jetty-9.4.x 2017-11-29 10:52:02 -07:00
Joakim Erdfelt aeb1a1d6cd Merge tag 'jetty-9.4.8.v20171121' into jetty-9.4.x
Tag for release: jetty-9.4.8-SNAPSHOT

 + 212 HttpClient should support pluggable AuthenticationStore
 + 215 Add Conscrypt for native ALPN/TLS/SSL
 + 272 WebSocket hangs in blockingWrite
 + 487 JDK 9 build compatibility
 + 901 Overriding SSL context KeyStoreType requires explicit override of
   TrustStoreType
 + 922 Implements methods Connection.getBytes[In|Out]()
 + 1209 IllegalStateException when HTTP/2 push is disabled
 + 1213 Upgrade to ASM Version 6.0 for JDK9
 + 1509 Improve GZIPContentDecoder buffer pooling sizing
 + 1550 Resolve inconsistent Shutdown configuration with Jetty Runner
 + 1640 Introduce :run-distro goal for local jetty distribution deployment
 + 1692 Annotation scanning should ignore `module-info.class` files
 + 1696 Missing stacktraces on debug of WriteFlusher onFail
 + 1705 Rejected executions in QueuedThreadPool can lead to memory leaks
 + 1760 Update to apache jasper 8.5.20
 + 1768 Allow jetty properties to be set for the jetty:run-forked goal
 + 1782 Using assembly.tarLongFileMode=posix for jetty-home and
   jetty-distribution assembly
 + 1797 JEP 238 - Multi-Release JAR files break bytecode scanning
 + 1806 Improved ReservedThreads idle timeout
 + 1807 Add new HttpChannel listener and events for metrics libraries
 + 1814 Move JavaVersion to jetty-util for future Java 9 support requirements
 + 1818 Improve Infinispan support on JDK 9
 + 1819 Race condition during annotation parsing
 + 1823 ResourceHandler with ranged requests does not return Content-Type
   response header
 + 1829 OSGi webbundle classes scanned twice
 + 1833 Request.startAsync requires context path
 + 1835 Locker is not reentrant on ServerConnector#setConnectionFactories
 + 1836 Migrate Locker implementation to JVM ReentrantLock implementation
 + 1841 Reduce contention on ServletHolder
 + 1845 Allow null User-Agent in HttpClient
 + 1849 Refactoring of SelectorManager.defaultSchedulers()
 + 1851 Improve insufficient thread warnings/errors
 + 1854 Consistent IOException and timeout handling when extracting form
   parameters
 + 1856 ResourceHandler without ServletContext throws NPE for welcome files if
   used directly
 + 1857 GZIPContentTransformer fails to send entire message if used with
   BufferedContentTransformer
 + 1865 Improve Exception on invalid redirect usage
 + 1867 Improve Exception thrown during Expect 100 Continue
 + 1868 Need a way to randomly select ports for tests
 + 1871 JMXify SslContextFactory
 + 1878 Handle 100 Continue response without Expect header
 + 1879 'Bad tld url' seen during :jetty-run when running integration tests
 + 1881 Improve support of WebSocket over Unix Domain Socket
 + 1885 SessionHandler get/set maxInactiveInterval is not symmetric with
   negative values
 + 1888 Implement cookie matching on Path attribute per RFC 6265
 + 1891 Make HTTP/2 async error notifications configurable
 + 1892 NPE resulting from bad JEP 238 MultiReleaseJarFile structure
 + 1893 Add ability to set HttpClient Connection TTL
 + 1897 Introduce a round-robin connection pool for HttpClient
 + 1900 Update to CDI 2.0 for cdi module
 + 1901 Reimplement PathWatcher as scanner
 + 1909 Update to Apache Jasper 8.5.23
 + 1910 Remove unused jetty-jsp module
 + 1912 AbstractConnector EndPoint leak for failed SSL connections
 + 1914 HttpClient fails to parse Content-Type response header with RFC 2045
   charset="utf-8" syntax
 + 1919 Review LowResourceMonitor
 + 1920 Connect Timeouts with NonBlocking CreateEndPoint
 + 1924 ManagedSelector can livelock under high load
 + 1931 Expose RolloverOutputStream for pluggable behaviour
 + 1933 Use CLASSPATH for scanning java9 system classes
 + 1956 Store and report build information of Jetty
 + 1958 Blocking Timeout has different behavior in HttpInput vs HttpOutput
 + 1970 ManagedSelector can lose selector thread under high concurrent load
 + 1980 PushCacheFilter does not push TLS offloaded HTTP/2 requests
 + 1981 Loading resource content failed
 + 1984 Remove jetty-client dependency in jetty-rewrite
2017-11-29 10:51:22 -07:00
Simone Bordet 31e5531966 Small optimization when starting reserved threads.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-28 22:09:45 +01:00
Greg Wilkins 54bf9b56bf Issue #1770 NPE protection in SniX509EKM chooseServerAlias
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-24 08:18:24 +01:00
Simone Bordet d285c718b9 Issue #1901 - Reimplement PathWatcher as scanner.
Ignored PathWatcherTest because it is unstable and often fails in Jenkins.
2017-11-22 18:58:22 +01:00
Jan Bartel 7f6e2e8dd0 Issue #1933
Cherry-pick of 29373c6 and 44d170e
2017-11-22 13:53:38 +01:00
Joakim Erdfelt ff53002fac Updating to version 9.4.9-SNAPSHOT 2017-11-21 13:11:31 -07:00
Joakim Erdfelt 82b8fb23f7 Updating to version 9.4.8.v20171121 2017-11-21 12:33:52 -07:00
Jan Bartel 26b7058186 Issue #1981 2017-11-21 17:53:44 +01:00
Jan Bartel 29373c6fb4
Merge pull request #1976 from eclipse/jetty-9.4.x-1933-jdk9-classpath
Jetty 9.4.x 1933 jdk9 classpath
2017-11-16 13:57:56 +01:00
Simone Bordet 131f46df64 Improved dump of ManagedSelector.
Now also dumping the actions.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-16 11:35:18 +01:00
Jan Bartel 98d8c2400d Issue #1933
Add some comments, changes from code review.

Signed-off-by: Jan Bartel <janb@webtide.com>
2017-11-16 10:01:44 +01:00
Jan Bartel 10a6f57bd8 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-1933-jdk9-classpath
Signed-off-by: Jan Bartel <janb@webtide.com>
2017-11-15 10:42:08 +01:00
Jan Bartel 12327b8876 Issue #1933
Signed-off-by: Jan Bartel <janb@webtide.com>
2017-11-15 10:33:51 +01:00
Simone Bordet 0f07c6518e
Issue #1970 - ManagedSelector loses selector thread (#1971)
* Issue #1970 - ManagedSelector loses selector thread.

Removed broken data structure ConcurrentStack (ABA problem).

Made ReservedThreadExecutor use a ConcurrentLinkedDeque
instead of ConcurrentStack.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-14 10:48:33 +01:00
Greg Wilkins 48df74224a
Jetty 9.4.x 1931 rollover (#1932)
* Issue #1931 Rollover log file

Added a protected method that is called whenever a log file is rolled over.
Support a date format of "" so that a rollover file may have the same name and a backup file is created.

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

* removed bad javadoc

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

* Issue #1931 Rollover

Replaced FilteredOutputStream with a volatile field so that rollover events will be seen immediately

* Issue #1931 Rollover

use mutex to avoid write and close race
2017-11-14 09:16:47 +01:00
Olivier Lamy 6499baa3a2 add a build.properties file containing git hash, build timestamp scm url (#1957)
* add a build.properties file containing git hash, build timestamp and scm url #1956

Signed-off-by: olivier lamy <olamy@webtide.com>

* move build infos to Jetty class so it's available for server and client

Signed-off-by: olivier lamy <olamy@webtide.com>

* apply changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>
2017-11-11 09:26:00 +11:00
Olivier Lamy 9fab69ea02 add a build.properties file containing git hash, build timestamp scm url (#1957)
* add a build.properties file containing git hash, build timestamp and scm url #1956

Signed-off-by: olivier lamy <olamy@webtide.com>

* move build infos to Jetty class so it's available for server and client

Signed-off-by: olivier lamy <olamy@webtide.com>

* apply changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>
2017-11-10 18:39:28 +01:00
Simone Bordet 0bc8305535 Improved ReservedThreadExecutor by reporting waiting threads. 2017-11-09 10:26:11 +01:00
Simone Bordet d496cc85b6 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-11-08 22:43:48 +01:00
Simone Bordet b1d5fea96c
Issue #1797 - JEP 238 - Multi-Release JAR files break bytecode scanning. (#1951)
Made MultiReleaseJarFile closeable and using try-with-resources in
AnnotationParser to avoid leaking file descriptors.

Made few code simplifications.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-08 21:38:26 +01:00
Jesse McConnell 0f34179b2b Merge branch 'release-9.3.22' into jetty-9.3.x 2017-11-03 09:45:47 -05:00
Greg Wilkins 0ef51b67dc
Fix NPE when stopping with no resesrved threads (#1939)
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-03 23:58:00 +11:00
Greg Wilkins 969c2d8e6a Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-11-03 08:52:58 +11:00