+ 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>
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>
+ force attach and use default phase bind (package)
+ fixing some dependencies to build aggregate javadoc jar
+ configure release plugin to build aggregated javadoc jar
+ test javadoc build with jdk11 including aggregated javadoc
+ Fixing bad javadoc
+ Excluding tests from aggregate-javadoc
+ Cannot aggregate-javadoc on CI (requires clean build of snapshot to work)
+ standardizing javadoc config
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Issue #3018 improve logging and handling of slow data rates.
* Slow data rates now result in aborted channels, but exception is still thrown. Test for 408 in requestLog
* Updated many RequestLog usages to use Server.setRequestLog rather than a RequestLogHandler
* Fixed javadoc
* removed BadRequestLogHandlerTest (tested in RequestLogTest)
* added JMH to show the future of request logging for #113
* copyright header.
* Updates from review
* Revert to throwing BadMessageException
* BME ensures a 408 is logged rather than a 500
Signed-off-by: Greg Wilkins <gregw@webtide.com>
+ 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>
Issue #300 - Implement Deflater Pool
Removed the ThreadLocal pooling of deflaters in GzipHandler in favour of a new DeflaterPool class
GzipHttpOutputInterceptor.GzipBufferCB now recycles the Deflater in onCompleteFailure()
added benchmark for the DeflaterPool
allow negative capacity to mean no limit on the pool size
added mod file and xml changes
replace setDeflaterPool with newDeflaterPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>