Commit Graph

3714 Commits

Author SHA1 Message Date
Greg Wilkins c66e3eb606 Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-11 10:31:30 +01:00
Greg Wilkins 385ba7d70d Remove graceful handling from ManagedSelector stop #2046
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-11 10:29:27 +01:00
Greg Wilkins 8b7480f088 Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-10 22:25:49 +01:00
Jan Bartel a0b8321ef4
Jetty 9.4.x 2038 slow filesessiondatastore (#2102)
* Issue #2038 Speed up FileSessionDataStore

Signed-off-by: Jan Bartel <janb@webtide.com>
2018-01-10 16:40:53 +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 54f49dec7d Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-09 13:32:19 +01:00
Greg Wilkins 88cf4603c5
Merge branch 'jetty-9.4.x' into bugfix/javadoc_fixes_2056 2018-01-08 21:31:48 +01:00
olivier lamy 2a89f23a46 javadoc fixes #2056 greg review
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-01-08 11:22:20 +11:00
Greg Wilkins 41050cd8a4
Issue #2081 No idle timeout exception when dispatch is delayed (#2083)
Issue #2081 No idle timeout exception when dispatch is delayed
* Delegate the readtimeout handling to HttpChannel so that a delayed dispatch can be ended.
* Added unit test for delayed dispatch idle
* Now using HttpInput.onIdleTimeout() to fail the HttpInput, and then dispatching the request in case it has not been dispatched yet. This ensure consistent behavior independently of the value of HttpConfiguration.delayDispatchUntilContent.
* Fixed for both HTTP/1.1 and HTTP/2.
* Added tests for non-blocking reads.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-04 13:26:31 +01: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
olivier lamy e07ba49283 more javadoc fixes #2056
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-12-29 11:07:51 +11:00
olivier lamy 942e819a7c more javadoc fixes #2056
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-12-28 18:49:43 +11:00
Simone Bordet e86e8a752c Issue #1973 - Implement minimum response data rate (#2012)
* Code cleanups.

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

* Improved test case handler.

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

* Improved exception message.

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

* Issue #1973 - Implement minimum response data rate.

Implemented response content data rate control in HttpOutput.

Introduced a WriteFlusher.Listener interface that produces events
for every flush(). These events are forwarded to the Connection
and from there to the HttpOutput so that the data rate control can
be enforced.

Both HTTP/1.1 and HTTP/2 are implemented.
Data rate control for HTTP/1.1 is approximate because it will count
also headers bytes and the chunk bytes, while for HTTP/2 is precise.

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

* Issue #1973 - Implement minimum response data rate.

Addressed review comments.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-27 15:07:32 +01:00
Greg Wilkins 22beb1d02a Updated tests to use _LEGACY modes
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-27 14:16:23 +01:00
Greg Wilkins 30e9c84b33 Added RFC7230_LEGACY compliance mode as the default
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-27 13:50:10 +01:00
Greg Wilkins 7e516e29fb pass existing compliance tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-24 18:00:03 +01:00
Greg Wilkins d8dead35ae Issue #2022 Fine Gramed Compliance Modes
Added HttpComplianceSection and an EnumSet within HttpCompliance

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-24 14:41:18 +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
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 5ce07dddd6
#2006 Use a NOOP to allow unhandle to cope with stolen read (#2009)
#2006 Use a NOOP to allow unhandle to cope with stolen read

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-02 12:14:43 +01:00
Greg Wilkins 15c0f79593
Issue #1614 made authentication extensible in request log (#2004)
Issue #1614 made authentication extensible in request log (#2004)
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-02 10:00:39 +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
Greg Wilkins 6541848f28
PR #1987 AsyncICB need not execute
PR #1987  AsyncICB need not execute

The HttpOutput AsyncICB is a blocking callback, thus it is always executed and
never runs in the selector thread. It thus does not need to execute its call
the Channel.handle

* HTTP/2 must execute async callbacks
* AsyncICBr need not execute
* Invert the sense of the fix.  AsyncICB now executes, but is flagged as a non-blocking callback.
* removed import

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-29 18:48:55 +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
Simone Bordet fab4b95925 Fixes #1980 - PushCacheFilter does not push TLS offloaded HTTP/2 requests.
Changed HttpChannel to call Request.setSecure() with the scheme of the
request URI.

Changed PushCacheFilter to rely on the referrer URI scheme, and only if
that is missing then using Request.isSecure().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-11-16 23:32:44 +01:00
Greg Wilkins 918cf625cc
Issue #1958 Blocking timeout spurious wakeups (#1975)
* Issue #1958 Blocking timeout

Use tryFillInterested to allow retries on spurious wakeups

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-15 18:13:00 +01:00
Greg Wilkins c66bacba02 Issue #922 (#1965) bytesIn/Out stats
Ensure -1 fill is not appended to bytesIn counts
Don't include discarded bytes from head responses in counts
refactored gather writes in HttpConnection to be clearer and removed
redundant buffer checks
2017-11-14 09:12:00 +01:00
Olivier Lamy 786f128808 implements connection.getBytes[In|Out] for http transport #922 (#1965)
* implements connection.getBytes[In|Out] for http transport, #922

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

* use LongAdder rather than AtomicLong

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

* changes by Greg review

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

* changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>
2017-11-14 08:41: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
olivier lamy 17ce298b98 fix inconsistencies for JettyRunner support -DSTOP.PORT and -DSTOP.KEY as well #1550
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-11-09 17:29:39 +11:00
WalkerWatch ee3b93de03 Updated javadoc language. Resolves #1945 2017-11-07 15:17:42 -05:00
Jesse McConnell a72eb0001d Updating to version 9.3.23-SNAPSHOT 2017-10-30 15:39:57 -05:00
Jesse McConnell 705048cc49 Updating to version 9.3.22.v20171030 2017-10-30 15:16:29 -05:00
Greg Wilkins 6e94d4023c Fixed #1919 LowResourceMonitor@isAcceptingInLowResources 2017-10-25 10:44:55 +11:00
Greg Wilkins 71c78db60e Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-10-20 09:48:01 +11:00
Greg Wilkins 06e00355a2 Fixed #1912 2017-10-20 09:41:47 +11:00
Simone Bordet 5e5355cd20 Improved toString() to add the version. 2017-10-19 21:23:33 +02:00
Greg Wilkins 1b7cfbbf2c Test #1898 2017-10-17 14:13:51 +11:00
Greg Wilkins 0f8bf0a64f Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-10-17 14:08:36 +11:00
Greg Wilkins 52baec434b Test #1898 2017-10-17 14:04:53 +11:00
Simone Bordet 08a43cd0a2 Issue #1807 - HttpChannel events.
Added "dispatchFailure" event, and renamed "request[Before|After]Dispatch"
events to just "[before|after]Dispatch".
2017-10-17 00:09:45 +02:00