3898 Commits

Author SHA1 Message Date
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
Simone Bordet
4236f14955 Fixes #1891 - Make HTTP/2 async error notifications configurable.
Introduced HttpConfiguration.notifyRemoteAsyncErrors, true by default.
2017-10-12 12:13:02 +02:00
Simone Bordet
c454ce88e8 Formatting cleanup. 2017-10-12 12:02:00 +02:00
Dan Smith
a579823f29 Issue #1885 Fixed rounding error of negative maxInactiveInterval
Session.getMaxInactiveInterval should return a negative number if the
the session is configured with a negative maxInactiveInterval. It was
being rounded up to 0 by mistake.

Signed-off-by: Dan Smith <upthewaterspout@apache.org>
2017-10-10 13:59:52 -07:00
Simone Bordet
12dcfabd4e Issue #1807 - HttpChannel events.
Implemented events for request and response processing.
Introduced HttpChannel.Listener to handle these events.
2017-10-09 18:06:03 +02:00
Simone Bordet
c69c7b29c7 Fixes #1878 - Handle 100 Continue response without Expect header. 2017-10-09 12:08:24 +02:00
Simone Bordet
b38597a5bc Fixes #1865 - NullPointerException on redirect. 2017-10-06 09:18:28 +02:00
Simone Bordet
b626dbdd16 Fixes #1867 - Verbose exception thrown during successful test.
Added guard against self suppression, which otherwise causes
an IllegalStateException.
2017-10-06 09:03:02 +02:00
Simone Bordet
e2d7057988 Fixes #1209 - IllegalStateException when HTTP/2 push is disabled.
Aligned the behavior with Servlet 4.0, returning null if push is
not supported or disabled by the client.
2017-10-03 18:53:00 +02:00
Greg Wilkins
1a7ff6854d Fixed #1856 ResourceService without context 2017-10-03 11:34:00 +11:00
Simone Bordet
3b98a6c000 Issue #1851 - Improve insufficient thread warnings/errors.
ThreadBudget -> ThreadPoolBudget.
Added selectors to the leased threads.
2017-10-02 13:40:31 +02:00
Simone Bordet
17a1484143 Code cleanups.
Removed unnecessary imports and fixed typos.
2017-10-02 11:43:45 +02:00
Greg Wilkins
d166881a5a Issue #1806 Concurrent ReservedThreadExcecutor
Squashed commit of the following:

commit ab7f711c30ad1408ecdceffdca51cf167dc11a9c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Sep 28 10:20:08 2017 +1000

    Fixed format

commit 062b051b56efb9924b81cf755297f538e4691851
Merge: d1e27d4 7d98cbb
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Sep 28 09:19:40 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1806-ConcurrentReservedThreadExecutor

commit d1e27d42983487941c6dd7cb0ea1068f36ff92f0
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Sep 26 11:28:21 2017 +1000

    improvements after review

commit 477e3ac05610825cc834d3195e39e8e8620a44cb
Merge: 51a3ac3 35d0b59
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Sep 26 10:10:30 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1806-ConcurrentReservedThreadExecutor

commit 51a3ac37e63108ca93fe2fdd9e02e7f8161072ba
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Sep 26 10:08:55 2017 +1000

    improvements after review

commit 23df855bf457fe609576a35327db3fbd4c82b491
Merge: b52c6de 5764afc
Author: Greg Wilkins <gregw@webtide.com>
Date:   Tue Sep 26 09:30:42 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1806-ConcurrentReservedThreadExecutor

commit b52c6de6573433a960fdb6f2692e7bbd9effb48c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Sep 22 15:36:53 2017 +1000

    Issue #1806

    Added a concurrent stack class
    Converted ReservedThreadExcecutor to use the concurrent stack
    Added support for idle
2017-09-28 12:44:23 +10:00
Greg Wilkins
7d98cbb870 Issue #1851 Improve insufficient thread warnings/errors
Squashed commit of the following:

commit 1d9e8e4b4d53898cb6435f67529347bd2ba82cf0
Merge: 7280594 55b0f10
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Sep 28 07:20:37 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1851-ThreadBudget

commit 7280594a0058538b603ad35625713a79830e9b93
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 22:48:58 2017 +1000

    fixed headers

commit f962f18e5b098ae40846ee3832736ee4650aed84
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:12:33 2017 +1000

    Issue #1851 added reset

commit a63894de284c8d8dc5ed031f1f6e0fccaf6c7715
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:08:53 2017 +1000

    Issue #1851 improved test

commit 8bcc460dc63273165305a7adcb88e991e30de4b7
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:03:47 2017 +1000

    Issue #1851 Improve insufficient thread warnings/errors

    Refactor approach to use Leases, to handle multiple executors

commit fe4be5f56594f342ab5c2e6c886397d9b4fe9c14
Merge: abc5eac a248d38
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 15:37:56 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1851-ThreadBudget

commit abc5eac2b73d306a91b28ef4db778455095a5bdb
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 12:20:03 2017 +1000

    Issue #1851 Improve insufficient thread warnings/errors

    Created a ThreadBudget class that can be used to warn/error for
    registered and unregistered allocations of threads.

    The server on doStart does an unregistered check of all its components that
    implement the Allocation interface.

    The client will register itself as an Allocation if a shared Executor is used.
2017-09-28 07:35:05 +10:00
Greg Wilkins
a248d38f56 Issue #1854 consistent exception handling for Request parameters 2017-09-27 15:36:53 +10:00
Greg Wilkins
e58a7b488e Issue #1832 work around 2017-09-26 17:04:42 +10:00
Greg Wilkins
c2b7177628 temporary fix for unit test 2017-09-26 16:41:41 +10:00