Jan Bartel
fe8b11dd48
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
2020-02-01 11:27:09 +01:00
Greg Wilkins
4dbf8a3a9e
Issue #4495 ReservedThreadExecutor optimise ( #4499 )
...
* Issue #4495 ReservedThreadExecutor optimise
Use synchronousQueue for task handoff
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4495 ReservedThreadExecutor optimise
updates from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4495 ReservedThreadExecutor optimise
Use a linked queue rather than a deque(as a stack). This should be simpler, better optimised and less contended. Idling has been simplified so that a reserve thread is always dropped every idle period.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4495 ReservedThreadExecutor optimise
reverted RTE and added a JMH benchmark
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* More variants and longer tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Added LQ
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* removed SQ2
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4495 ReservedThreadExecutor optimise
Replaced real implementation with SQ
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4495 RTE optimise
Removed alternate implementations
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Issue #4495 RTE optimise
updates from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-01-31 19:54:44 +01:00
Joakim Erdfelt
01a5974f4b
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# Jenkinsfile
# examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java
# jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/HttpParserTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java
# jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartParserTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/PathMapTest.java
# jetty-http/src/test/java/org/eclipse/jetty/http/matchers/HttpFieldsMatchersTest.java
# jetty-maven-plugin/src/test/java/org/eclipse/jetty/maven/plugin/it/TestGetContent.java
# jetty-server/src/test/java/org/eclipse/jetty/server/CookieCutterLenientTest.java
# jetty-server/src/test/java/org/eclipse/jetty/server/CookieCutterTest.java
# jetty-server/src/test/java/org/eclipse/jetty/server/PartialRFC2616Test.java
# jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletLifeCycleTest.java
# jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipContentLengthTest.java
# jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultNoRecompressTest.java
# jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java
# jetty-unixsocket/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketClient.java
# jetty-util/src/test/java/org/eclipse/jetty/util/B64CodeTest.java
# jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java
# jetty-util/src/test/java/org/eclipse/jetty/util/ssl/X509Test.java
# jetty-webapp/src/test/java/org/eclipse/jetty/webapp/ClasspathPatternTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/LargeMessageTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScannerGoodSignaturesTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScannerInvalidSignaturesTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSetTest.java
# jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/utils/ReflectUtilsTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DelayedStartClientOnServerTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/RestartContextTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScannerGoodSignaturesTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScannerInvalidSignaturesTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/ErrorCloseTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConnectTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/WebSocketClientTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/PartialListenerTest.java
# jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/extensions/ExtensionConfigTest.java
# jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilQuoteTest.java
# jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ConnectionManagerTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/TomcatServerQuirksTest.java
# jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/WebSocketClientInitTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/TextPayloadParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase11.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase12.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase2.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase4.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase73.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScannerTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/ByteAccumulatorTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/ConnectionStateTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/http/HttpResponseHeaderParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageDebug.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/Utf8CharBufferTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/util/Utf8PartialBuilderTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/RedirectWebSocketClientTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/SimpleServletServer.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase1.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase2.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase3.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase4.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase5.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6BadUTF.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6GoodUTF.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7BadStatusCodes.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7GoodStatusCodes.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase9.java
# pom.xml
# tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationsTest.java
# tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/JdbcTestHelper.java
# tests/test-webapps/test-jetty-webapp/src/test/java/org/eclipse/jetty/TestServer.java
# tests/test-webapps/test-proxy-webapp/src/test/java/org/eclipse/jetty/TestTransparentProxyServer.java
2020-01-15 12:20:20 -06:00
Joakim Erdfelt
8c65309963
Addressing Checkstyle violations in src/test/java
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-01-14 12:33:34 -06:00
Simone Bordet
5f82e17d2f
Issue #3578 - Adopt EPL-2.0 for Jetty-10.
...
WIP: updated copyright headers for Java files.
TODO: doc files and META-INF files inside jars.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-09 20:10:19 +01:00
Simone Bordet
a5c99207fc
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2020-01-07 17:02:40 +01:00
Simone Bordet
923ec38adf
Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'.
2020-01-07 16:51:25 +01:00
olivier lamy
ff48fba585
happy new year
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:59:21 +01:00
olivier lamy
e1371a1c13
happy new year
...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:54:05 +01:00
Greg Wilkins
a42ad99871
Misc minor checkstyle fixes
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-25 11:13:34 +02:00
Greg Wilkins
9706d70484
Jetty 9.4.x reformat ( #3811 )
...
* Removing Legacy Method Separators
* Restyling branch `jetty-9.4.x`
* Applying changes highlighted by checkstyle
* Applying XML restyling
* Fixing XML codestyle for IntelliJ
* Fixing XML style mistakes
* Revert "Applying XML restyling"
* Updating checkstyle for XML codestyle
* Reformatting pom.xml files
* Fixed empty string from line wraps
* Update intellij style to not do expression relative formatting. Reformatted code based on that.
* Increasing line split on Eclipse IDE Formatter to 512
* Restoring setting on internal default value.
+ IntelliJ will not export settings on things that set to their
internal default values.
We want to keep those values as a hedge against future default
value changes in future releases of IntelliJ.
* Fixing intellij codestyle
* do not allow single line simple methods
* misc checkstyle fixes
* re-exported with correct name and all values
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-24 17:40:30 +02:00
Joakim Erdfelt
60d8661890
Merge `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# examples/embedded/src/main/java/org/eclipse/jetty/embedded/Http2Server.java
# jetty-ant/src/main/java/org/eclipse/jetty/ant/AntWebInfConfiguration.java
# jetty-http/src/test/java/org/eclipse/jetty/http/QuotedCSVTest.java
# jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyWebAppContext.java
# jetty-nosql/src/main/java/org/eclipse/jetty/nosql/mongodb/MongoSessionDataStore.java
# jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/OSGiWebInfConfiguration.java
# jetty-util/src/main/java/org/eclipse/jetty/util/StringUtil.java
# jetty-util/src/test/java/org/eclipse/jetty/util/StringUtilTest.java
# jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebInfConfiguration.java
# jetty-websocket/javax-websocket-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/WSServer.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WSServer.java
# tests/test-integration/src/test/java/org/eclipse/jetty/test/support/XmlBasedJettyServer.java
2019-06-13 14:14:42 -05:00
Joakim Erdfelt
33fe55c339
Issue #3708 - use StringUtil alternatives for known slow JVM impls.
...
+ StringUtil.replace()
+ StringUtil.replaceFirst()
+ StringUtil.sanitizeFileSystemPath()
Change existing usages of String.replace() to either
use new StringUtil.replace() or other methods elsewhere
that better suit that specific need.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-11 11:25:50 -05:00
Joakim Erdfelt
4e00f88946
Issue #3715 - Improve Log condensePackageString() performance
...
+ Removed regex usage
+ More unit tests
+ Adding jmh test for improvements (see PR #3716 for published results
of old vs new implementation)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-31 10:57:38 -05:00
Greg Wilkins
0c61ec3e4d
Fix idle race by allowing idle count to go negative ( #3694 )
...
* Fix idle race by allowing idle count to go negative
* Fixed flakey dump test
* don't exit Runner on exceptions
* cleanup after pair programming with sbordet
* longer benchmark runs
* optimized by removing need to check isRunning
Signed-off-by: Greg Wilkins <gregw@webtide.com>
* Code reformatting.
* Fixed stop logic.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-05-29 17:24:01 +02:00
Olivier Lamy
0ebc0fa9ce
Issue #3659 jmh tests are creating to many tmp files and never cleaned ( #3650 )
...
* cleanup tmp files created by jmh tests
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-05-23 14:12:44 +10:00
Olivier Lamy
f2c59a3cb7
add convenient StringUtil isEmpty method ( #3687 )
...
* add StringUtil.isEmpty
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-05-23 09:01:36 +10:00
Simone Bordet
fd542c2856
Merge pull request #3591 from eclipse/jetty-9.4.x-3550-QueuedThreadPool-cleanup
...
Jetty 9.4.x 3550 queued thread pool cleanup
2019-05-22 18:18:49 +02:00
Greg Wilkins
2b227f121e
Issue #3550
...
I have modified the JMH benchmark to look at latency (by measuring throughput) for executing a job with low, medium and high concurrency. It looks like the JREs threadpool is not so bad in some load ranges, but once things get busy we are still a bit better. No significant difference is seen between previous QTP impl and the one in this PR.
```
Benchmark (size) (type) Mode Cnt Score Error Units
ThreadPoolBenchmark.testFew 200 ETP thrpt 3 129113.271 ± 10821.235 ops/s
ThreadPoolBenchmark.testFew 200 QTP thrpt 3 122970.794 ± 8702.327 ops/s
ThreadPoolBenchmark.testFew 200 QTP+ thrpt 3 121408.662 ± 12420.318 ops/s
ThreadPoolBenchmark.testSome 200 ETP thrpt 3 277400.574 ± 34433.710 ops/s
ThreadPoolBenchmark.testSome 200 QTP thrpt 3 244056.673 ± 60118.319 ops/s
ThreadPoolBenchmark.testSome 200 QTP+ thrpt 3 240686.913 ± 43104.941 ops/s
ThreadPoolBenchmark.testMany 200 ETP thrpt 3 679336.308 ± 157389.044 ops/s
ThreadPoolBenchmark.testMany 200 QTP thrpt 3 704502.083 ± 15624.325 ops/s
ThreadPoolBenchmark.testMany 200 QTP+ thrpt 3 708220.737 ± 3254.264 ops/s
```
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-17 15:35:18 +02:00
Joakim Erdfelt
076c6b1c71
Issue #2909 - adding jmh tests
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-15 10:08:11 +02: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
Olivier Lamy
7dbe056521
Signed-off-by: olivier lamy <oliver.lamy@gmail.com> ( #3035 )
2018-10-29 17:14:59 +10: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