diff --git a/Jenkinsfile b/Jenkinsfile index 57685b5fda3..d24aac9ba18 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -85,6 +85,7 @@ def getFullBuild(jdk, os) { maven: 'maven3', jdk: "$jdk", publisherStrategy: 'EXPLICIT', + //options: [invokerPublisher(disabled: false)], globalMavenSettingsConfig: 'oss-settings.xml', mavenLocalRepo: "${env.JENKINS_HOME}/${env.EXECUTOR_NUMBER}") { // diff --git a/VERSION.txt b/VERSION.txt index ee6dd5306ba..bf992933391 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,4 +1,96 @@ -jetty-9.4.9-SNAPSHOT +jetty-9.4.10-SNAPSHOT + +jetty-9.4.9.v20180320 - 20 March 2018 + + 347 Avoid sending request using a connection that is idle timing out + + 1416 GzipHandler generated ETag suffix has problems with If-Match header + logic + + 1602 WebAppContext is started twice, once by deployer, again by lifecycle + + 1614 AbstractNCSARequestLog does not extract the user from the http header + when it has not been authenticated + + 1770 SniX509ExtendedKeyManager.chooseServerAlias() throws + NullPointerException when socket is null + + 1797 JEP 238 - Multi-Release JAR files break bytecode scanning + + 1832 Bad HTTP Close prevents proper TCP close + + 1918 Scalable scheduler implementation + + 1933 Use CLASSPATH for scanning java9 system classes + + 1940 Embedded CDI: SessionScoped gives a NPE + + 1949 Client-side problems with digest authentication + + 1956 Store and report build information of Jetty + + 1966 HttpMethod case sensitive + + 1970 ManagedSelector can lose selector thread under high concurrent load + + 1973 Implement minimum response data rate + + 1983 Improve warning for incompatible ALPN processor + + 1986 ServletContextHandler.Context addListener() methods support + session listeners + + 2003 Do not submit blocking tasks as managed selector actions + + 2006 ServletInputStream.isReady not registering interest when it should + + 2010 SniX509ExtendedKeyManager causes exception: "FIPS mode: only SunJSSE + KeyManagers may be used" + + 2014 Support unix domain sockets in HttpClient + + 2015 jetty-alpn-conscrypt-server needs appropriate osgi headers in manifest + + 2016 jetty-alpn-openjdk8-server needs correct osgi headers in manifest + + 2019 Expose HttpClientTransport in JMX + + 2020 Introduce a name for `HttpClient` instances + + 2022 Fine grained RFC HTTP Compliance modes: including OWS prior to field + colon + + 2028 Add osgi headers for alpn-java client and server + + 2030 NPE in AnnotationConfiguration with DEBUG enabled + + 2033 Improve HTTP/2 session and stream stall times report + + 2034 Improve HTTP2Session dump + + 2035 FlowControlStrategy keeps around reset streams + + 2037 HTTP/2 stream reset leaves stream frames in the flusher + + 2038 FileSessionDataStore.deleteAllFiles(File, String) can become slow + + 2043 ConcurrentModificationException during annotation parsing + + 2046 Server.stop not closing connections + + 2050 Clarify ObjectMBean getObject[Name|Context]Basis() methods + + 2079 Upgrade to apache jasper 8.5.24 + + 2080 Exclude more maven machinery dependencies from the jetty-maven-plugin + server path + + 2081 No idle timeout exception when dispatch is delayed + + 2088 Recycle HTTP/2 channels on the client + + 2090 Jetty fails to start on OpenJDK 9: "Invalid Java version 9.0.1.3" + + 2093 Correcting Bom managed dependencies that do not exist + + 2114 Fix NPE in JettyHttpServerProvider + + 2117 Allow to configure HttpClient default request Content-Type + + 2130 Introduce thread pool module for simpler configuration of thread pool + in standalone + + 2131 Introduce a monitored thread pool + + 2136 maven & jetty-maven-plugin & offline + error:java.net.UnknownHostException: www.eclipse.org + + 2148 Limit BufferUtil.toDetailString() raw character display to USASCII + 7-bit printable characters + + 2152 Produce jetty-home-source artifacts for Eclipse Jetty source jars + + 2160 Digest authentication should use absolute path + + 2164 Ensure all jetty modules that use ServiceLoader have correct OSGi + manifest headers + + 2190 HTTP/2 close and GOAWAY behavior + + 2203 Use GlobalWebAppConfigBinding rather than special methods on + DeploymentManager/WebAppProvider + + 2209 jetty-maven-plugin deploy-war silently fails (unless the pom has war + packaging) + + 2210 NPE at org.eclipse.jetty.client.HttpDestination.newExchangeQueue + + 2218 Adding workaround for Windows NIO Selector Bug + + 2232 Dependency Conflict: Conflicting JARs org.apache.maven:maven-project + + 2255 Notify SSL handshake failures on write failures + + 2275 jetty.server.ResourceService.doGet() + RequestDispatcher INCLUDE + + 2278 Could not find artifact + org.eclipse.jetty.tests:test-webapps-parent:pom:9.4.8.v20171121 + + 2279 Jetty 9.4.x start.jar: "?=" in [ini] defeats Issue #1139 functionality + + 2280 Default application/json to utf-8 encoding in encoding.properties + + 2284 NPE from start.jar during JVM version parsing + + 2288 Cleanup the statistics classes + + 2291 Expose HTTP/2 close reason in dumps + + 2293 HTTP/2 client multiplexed connection pool creates too many connections + + 2297 HTTP/2 client transport should honor HttpClient.connectBlocking + + 2298 Override the processor number with an environment variable + + 2307 Error page can have null charset in content type + + 2308 Type change in MonitorTask - int cannot be converted to + ThreadPoolExecutor + + 2312 HTTP/2 Connection.Listener notified after first request + + 2313 Dump HTTP/2 channel state + + 2318 HttpParser.Listener.onBadMessage() should take BadMessageException + + 2346 Missing stack traces in HTTPChannel.onException + + 2358 Add ALPN module file for JDK 10 jetty-9.4.8.v20171121 - 21 November 2017 + 212 HttpClient should support pluggable AuthenticationStore diff --git a/aggregates/jetty-all-compact3/pom.xml b/aggregates/jetty-all-compact3/pom.xml index 059c0f353f5..c12e028dc5f 100644 --- a/aggregates/jetty-all-compact3/pom.xml +++ b/aggregates/jetty-all-compact3/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/aggregates/jetty-all/pom.xml b/aggregates/jetty-all/pom.xml index 8509ffc3a9d..ceb4083ea8b 100644 --- a/aggregates/jetty-all/pom.xml +++ b/aggregates/jetty-all/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/apache-jsp/pom.xml b/apache-jsp/pom.xml index dccce7f3010..a1ab5358c27 100644 --- a/apache-jsp/pom.xml +++ b/apache-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 apache-jsp diff --git a/apache-jstl/pom.xml b/apache-jstl/pom.xml index ec0c756b469..e70296fff4a 100644 --- a/apache-jstl/pom.xml +++ b/apache-jstl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 apache-jstl diff --git a/examples/async-rest/async-rest-jar/pom.xml b/examples/async-rest/async-rest-jar/pom.xml index 53687ba0b3d..379f98494d6 100644 --- a/examples/async-rest/async-rest-jar/pom.xml +++ b/examples/async-rest/async-rest-jar/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/async-rest-webapp/pom.xml b/examples/async-rest/async-rest-webapp/pom.xml index 5256abd7606..0e8d8ae1e6f 100644 --- a/examples/async-rest/async-rest-webapp/pom.xml +++ b/examples/async-rest/async-rest-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty example-async-rest - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 org.eclipse.jetty.example-async-rest diff --git a/examples/async-rest/pom.xml b/examples/async-rest/pom.xml index cfe244bf01a..ac3ebcadb5b 100644 --- a/examples/async-rest/pom.xml +++ b/examples/async-rest/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/embedded/pom.xml b/examples/embedded/pom.xml index 05a5c71af74..c7eba48e688 100644 --- a/examples/embedded/pom.xml +++ b/examples/embedded/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.examples examples-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/examples/pom.xml b/examples/pom.xml index c5b5f3f698d..0a3d061e799 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml org.eclipse.jetty.examples diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index a91883265a2..42538e42ac5 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-alpn-client diff --git a/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml b/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml index fe103f88cfd..ba3283adb5d 100644 --- a/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml +++ b/jetty-alpn/jetty-alpn-conscrypt-client/pom.xml @@ -6,7 +6,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml b/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml index e8b6fa6101c..e614bf87b45 100644 --- a/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml +++ b/jetty-alpn/jetty-alpn-conscrypt-server/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-java-client/pom.xml b/jetty-alpn/jetty-alpn-java-client/pom.xml index 3b4e1c7718a..105690ebca6 100644 --- a/jetty-alpn/jetty-alpn-java-client/pom.xml +++ b/jetty-alpn/jetty-alpn-java-client/pom.xml @@ -6,7 +6,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-java-server/pom.xml b/jetty-alpn/jetty-alpn-java-server/pom.xml index 24480d7ba3c..b33daf0e8a5 100644 --- a/jetty-alpn/jetty-alpn-java-server/pom.xml +++ b/jetty-alpn/jetty-alpn-java-server/pom.xml @@ -5,7 +5,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml b/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml index 73c2d9b1150..6b37ebee43d 100644 --- a/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml +++ b/jetty-alpn/jetty-alpn-openjdk8-client/pom.xml @@ -6,7 +6,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml b/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml index f2c0ec6cb23..c9dda63e2e0 100644 --- a/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml +++ b/jetty-alpn/jetty-alpn-openjdk8-server/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index 3354fa42539..d5fd398857a 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-alpn-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-alpn-server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index 2d27f3e648d..7777d36dc9a 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-alpn-parent diff --git a/jetty-annotations/pom.xml b/jetty-annotations/pom.xml index 2bc7353e0d8..ffa4dd80b8d 100644 --- a/jetty-annotations/pom.xml +++ b/jetty-annotations/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-annotations diff --git a/jetty-ant/pom.xml b/jetty-ant/pom.xml index be3373af1dd..69769fba84d 100644 --- a/jetty-ant/pom.xml +++ b/jetty-ant/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-ant diff --git a/jetty-bom/pom.xml b/jetty-bom/pom.xml index 9248c4ea8fc..a04d3a5dbb0 100644 --- a/jetty-bom/pom.xml +++ b/jetty-bom/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty 4.0.0 jetty-bom - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT Jetty :: Bom Jetty BOM artifact http://www.eclipse.org/jetty @@ -94,331 +94,331 @@ org.eclipse.jetty apache-jsp - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty apache-jstl - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-alpn-client - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-alpn-java-client - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-alpn-java-server - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-alpn-openjdk8-client - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-alpn-openjdk8-server - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-alpn-conscrypt-client - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-alpn-conscrypt-server - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-alpn-server - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-annotations - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-ant - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.cdi cdi-core - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.cdi cdi-servlet - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-client - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-continuation - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-deploy - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-distribution - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT zip org.eclipse.jetty jetty-distribution - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT tar.gz org.eclipse.jetty.fcgi fcgi-client - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.fcgi fcgi-server - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.gcloud jetty-gcloud-session-manager - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-home - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT zip org.eclipse.jetty jetty-home - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT tar.gz org.eclipse.jetty jetty-http - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.http2 http2-client - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.http2 http2-common - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.http2 http2-hpack - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.http2 http2-http-client-transport - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.http2 http2-server - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-http-spi - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-infinispan - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-hazelcast - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-io - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-jaas - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-jaspi - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-jmx - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-jndi - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.memcached jetty-memcached-sessions - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-nosql - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-boot - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-boot-jsp - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.osgi jetty-osgi-boot-warurl - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.osgi jetty-httpservice - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-plus - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-proxy - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-quickstart - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-rewrite - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-security - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-server - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-servlet - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-servlets - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-spring - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-unixsocket - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-util - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-util-ajax - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-webapp - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.websocket javax-websocket-client-impl - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.websocket javax-websocket-server-impl - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.websocket websocket-api - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.websocket websocket-client - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.websocket websocket-common - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.websocket websocket-server - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty.websocket websocket-servlet - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT org.eclipse.jetty jetty-xml - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT diff --git a/jetty-cdi/cdi-2/pom.xml b/jetty-cdi/cdi-2/pom.xml index 44f1cede850..fc7311b4247 100644 --- a/jetty-cdi/cdi-2/pom.xml +++ b/jetty-cdi/cdi-2/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 cdi-2 diff --git a/jetty-cdi/cdi-core/pom.xml b/jetty-cdi/cdi-core/pom.xml index a7ba32699c0..b32a000bbd4 100644 --- a/jetty-cdi/cdi-core/pom.xml +++ b/jetty-cdi/cdi-core/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 cdi-core diff --git a/jetty-cdi/cdi-full-servlet/pom.xml b/jetty-cdi/cdi-full-servlet/pom.xml index 5d1190ba820..8f9513aadfe 100644 --- a/jetty-cdi/cdi-full-servlet/pom.xml +++ b/jetty-cdi/cdi-full-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 cdi-full-servlet diff --git a/jetty-cdi/cdi-servlet/pom.xml b/jetty-cdi/cdi-servlet/pom.xml index 0a7d26fd709..07052968677 100644 --- a/jetty-cdi/cdi-servlet/pom.xml +++ b/jetty-cdi/cdi-servlet/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 cdi-servlet diff --git a/jetty-cdi/cdi-websocket/pom.xml b/jetty-cdi/cdi-websocket/pom.xml index 1282d7b86e9..8766711968a 100644 --- a/jetty-cdi/cdi-websocket/pom.xml +++ b/jetty-cdi/cdi-websocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 cdi-websocket diff --git a/jetty-cdi/pom.xml b/jetty-cdi/pom.xml index 448b8533e33..57aad9962f7 100644 --- a/jetty-cdi/pom.xml +++ b/jetty-cdi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 org.eclipse.jetty.cdi diff --git a/jetty-cdi/test-cdi-webapp/pom.xml b/jetty-cdi/test-cdi-webapp/pom.xml index e6b8bd7a9a2..34b8bcfbb44 100644 --- a/jetty-cdi/test-cdi-webapp/pom.xml +++ b/jetty-cdi/test-cdi-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.cdi jetty-cdi-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 test-cdi-webapp diff --git a/jetty-client/pom.xml b/jetty-client/pom.xml index 1ce996662f1..c4916788198 100644 --- a/jetty-client/pom.xml +++ b/jetty-client/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/ConnectionPool.java b/jetty-client/src/main/java/org/eclipse/jetty/client/ConnectionPool.java index 57aa3d66917..d2895b64fd8 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/ConnectionPool.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/ConnectionPool.java @@ -91,4 +91,20 @@ public interface ConnectionPool extends Closeable */ ConnectionPool newConnectionPool(HttpDestination destination); } + + /** + * Marks a connection pool as supporting multiplexed connections. + */ + interface Multiplexable + { + /** + * @return the max number of requests multiplexable on a single connection + */ + int getMaxMultiplex(); + + /** + * @param maxMultiplex the max number of requests multiplexable on a single connection + */ + void setMaxMultiplex(int maxMultiplex); + } } diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpChannel.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpChannel.java index 6d7f84b5304..37230b902ec 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpChannel.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpChannel.java @@ -70,10 +70,14 @@ public abstract class HttpChannel } if (abort) + { exchange.getRequest().abort(new UnsupportedOperationException("Pipelined requests not supported")); - - if (LOG.isDebugEnabled()) - LOG.debug("{} associated {} to {}", exchange, result, this); + } + else + { + if (LOG.isDebugEnabled()) + LOG.debug("{} associated {} to {}", exchange, result, this); + } return result; } diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/MultiplexConnectionPool.java b/jetty-client/src/main/java/org/eclipse/jetty/client/MultiplexConnectionPool.java index 6f2f73ad708..179d66e9ca3 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/MultiplexConnectionPool.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/MultiplexConnectionPool.java @@ -36,7 +36,7 @@ import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.util.thread.Sweeper; -public class MultiplexConnectionPool extends AbstractConnectionPool implements Sweeper.Sweepable +public class MultiplexConnectionPool extends AbstractConnectionPool implements ConnectionPool.Multiplexable, Sweeper.Sweepable { private static final Logger LOG = Log.getLogger(MultiplexConnectionPool.class); @@ -80,6 +80,7 @@ public class MultiplexConnectionPool extends AbstractConnectionPool implements S lock.unlock(); } + @Override public int getMaxMultiplex() { lock(); @@ -93,6 +94,7 @@ public class MultiplexConnectionPool extends AbstractConnectionPool implements S } } + @Override public void setMaxMultiplex(int maxMultiplex) { lock(); diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/MultiplexHttpDestination.java b/jetty-client/src/main/java/org/eclipse/jetty/client/MultiplexHttpDestination.java index ee1ceb30cca..44c264a36cf 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/MultiplexHttpDestination.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/MultiplexHttpDestination.java @@ -28,15 +28,15 @@ public abstract class MultiplexHttpDestination extends HttpDestination public int getMaxRequestsPerConnection() { ConnectionPool connectionPool = getConnectionPool(); - if (connectionPool instanceof MultiplexConnectionPool) - return ((MultiplexConnectionPool)connectionPool).getMaxMultiplex(); + if (connectionPool instanceof ConnectionPool.Multiplexable) + return ((ConnectionPool.Multiplexable)connectionPool).getMaxMultiplex(); return 1; } public void setMaxRequestsPerConnection(int maxRequestsPerConnection) { ConnectionPool connectionPool = getConnectionPool(); - if (connectionPool instanceof MultiplexConnectionPool) - ((MultiplexConnectionPool)connectionPool).setMaxMultiplex(maxRequestsPerConnection); + if (connectionPool instanceof ConnectionPool.Multiplexable) + ((ConnectionPool.Multiplexable)connectionPool).setMaxMultiplex(maxRequestsPerConnection); } } diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/RoundRobinConnectionPool.java b/jetty-client/src/main/java/org/eclipse/jetty/client/RoundRobinConnectionPool.java index b33929254f7..f69cbf63eea 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/RoundRobinConnectionPool.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/RoundRobinConnectionPool.java @@ -29,17 +29,42 @@ import org.eclipse.jetty.util.annotation.ManagedObject; import org.eclipse.jetty.util.component.ContainerLifeCycle; @ManagedObject -public class RoundRobinConnectionPool extends AbstractConnectionPool +public class RoundRobinConnectionPool extends AbstractConnectionPool implements ConnectionPool.Multiplexable { private final List entries; + private int maxMultiplex; private int index; public RoundRobinConnectionPool(Destination destination, int maxConnections, Callback requester) + { + this(destination, maxConnections, requester, 1); + } + + public RoundRobinConnectionPool(Destination destination, int maxConnections, Callback requester, int maxMultiplex) { super(destination, maxConnections, requester); entries = new ArrayList<>(maxConnections); for (int i = 0; i < maxConnections; ++i) entries.add(new Entry()); + this.maxMultiplex = maxMultiplex; + } + + @Override + public int getMaxMultiplex() + { + synchronized (this) + { + return maxMultiplex; + } + } + + @Override + public void setMaxMultiplex(int maxMultiplex) + { + synchronized (this) + { + this.maxMultiplex = maxMultiplex; + } } @Override @@ -78,10 +103,10 @@ public class RoundRobinConnectionPool extends AbstractConnectionPool if (entry.connection == null) break; - if (!entry.active) + if (entry.active < getMaxMultiplex()) { - entry.active = true; - entry.used++; + ++entry.active; + ++entry.used; connection = entry.connection; index += offset + 1; if (index >= capacity) @@ -103,7 +128,7 @@ public class RoundRobinConnectionPool extends AbstractConnectionPool for (Entry entry : entries) { if (entry.connection == connection) - return entry.active; + return entry.active > 0; } return false; } @@ -112,56 +137,60 @@ public class RoundRobinConnectionPool extends AbstractConnectionPool @Override public boolean release(Connection connection) { - boolean active = false; + boolean found = false; + boolean idle = false; synchronized (this) { for (Entry entry : entries) { if (entry.connection == connection) { - entry.active = false; - active = true; + found = true; + int active = --entry.active; + idle = active == 0; break; } } } - if (active) - released(connection); - return idle(connection, isClosed()); + if (!found) + return false; + released(connection); + if (idle) + return idle(connection, isClosed()); + return true; } @Override public boolean remove(Connection connection) { - boolean active = false; - boolean removed = false; + boolean found = false; synchronized (this) { for (Entry entry : entries) { if (entry.connection == connection) { - active = entry.active; + found = true; entry.reset(); - removed = true; break; } } } - if (active) + if (found) + { released(connection); - if (removed) removed(connection); - return removed; + } + return found; } @Override public void dump(Appendable out, String indent) throws IOException { - List connections = new ArrayList<>(); + List connections; synchronized (this) { - connections.addAll(entries); + connections = new ArrayList<>(entries); } ContainerLifeCycle.dumpObject(out, this); ContainerLifeCycle.dump(out, indent, connections); @@ -179,7 +208,7 @@ public class RoundRobinConnectionPool extends AbstractConnectionPool if (entry.connection != null) { ++present; - if (entry.active) + if (entry.active > 0) ++active; } } @@ -196,13 +225,13 @@ public class RoundRobinConnectionPool extends AbstractConnectionPool private static class Entry { private Connection connection; - private boolean active; + private int active; private long used; private void reset() { connection = null; - active = false; + active = 0; used = 0; } diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java index 6886a39b230..bdae896e13b 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java @@ -42,6 +42,7 @@ public class HttpReceiverOverHTTP extends HttpReceiver implements HttpParser.Res private final HttpParser parser; private ByteBuffer buffer; private boolean shutdown; + private boolean complete; public HttpReceiverOverHTTP(HttpChannelOverHTTP channel) { @@ -168,13 +169,22 @@ public class HttpReceiverOverHTTP extends HttpReceiver implements HttpParser.Res { while (true) { - // Must parse even if the buffer is fully consumed, to allow the - // parser to advance from asynchronous content to response complete. boolean handle = parser.parseNext(buffer); + boolean complete = this.complete; + this.complete = false; if (LOG.isDebugEnabled()) LOG.debug("Parsed {}, remaining {} {}", handle, buffer.remaining(), parser); - if (handle || !buffer.hasRemaining()) - return handle; + if (handle) + return true; + if (!buffer.hasRemaining()) + return false; + if (complete) + { + if (LOG.isDebugEnabled()) + LOG.debug("Discarding unexpected content after response: {}", BufferUtil.toDetailString(buffer)); + BufferUtil.clear(buffer); + return false; + } } } @@ -298,11 +308,15 @@ public class HttpReceiverOverHTTP extends HttpReceiver implements HttpParser.Res if (exchange == null) return false; + int status = exchange.getResponse().getStatus(); + + if (status != HttpStatus.CONTINUE_100) + complete = true; + boolean proceed = responseSuccess(exchange); if (!proceed) return true; - int status = exchange.getResponse().getStatus(); if (status == HttpStatus.SWITCHING_PROTOCOLS_101) return true; diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java index 220408a58fa..a363f90438f 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java @@ -1648,6 +1648,70 @@ public class HttpClientTest extends AbstractHttpClientServerTest Assert.assertEquals(200, response.getStatus()); } + @Test + public void test204WithContent() throws Exception + { + // This test only works with clear-text HTTP. + Assume.assumeTrue(sslContextFactory == null); + + try (ServerSocket server = new ServerSocket(0)) + { + startClient(); + client.setMaxConnectionsPerDestination(1); + int idleTimeout = 2000; + client.setIdleTimeout(idleTimeout); + + Request request = client.newRequest("localhost", server.getLocalPort()) + .scheme(scheme) + .timeout(5, TimeUnit.SECONDS); + FutureResponseListener listener = new FutureResponseListener(request); + request.send(listener); + + try (Socket socket = server.accept()) + { + socket.setSoTimeout(idleTimeout / 2); + + InputStream input = socket.getInputStream(); + consume(input, false); + + // Send a bad response. + String httpResponse = "" + + "HTTP/1.1 204 No Content\r\n" + + "\r\n" + + "No Content"; + OutputStream output = socket.getOutputStream(); + output.write(httpResponse.getBytes(StandardCharsets.UTF_8)); + output.flush(); + + ContentResponse response = listener.get(5, TimeUnit.SECONDS); + Assert.assertEquals(204, response.getStatus()); + + byte[] responseContent = response.getContent(); + Assert.assertNotNull(responseContent); + Assert.assertEquals(0, responseContent.length); + + // Send another request to verify we have handled the wrong response correctly. + request = client.newRequest("localhost", server.getLocalPort()) + .scheme(scheme) + .timeout(5, TimeUnit.SECONDS); + listener = new FutureResponseListener(request); + request.send(listener); + + consume(input, false); + + httpResponse = "" + + "HTTP/1.1 200 OK\r\n" + + "Content-Length: 0\r\n" + + "\r\n"; + output.write(httpResponse.getBytes(StandardCharsets.UTF_8)); + output.flush(); + + response = listener.get(5, TimeUnit.SECONDS); + Assert.assertEquals(200, response.getStatus()); + } + } + } + private void assertCopyRequest(Request original) { Request copy = client.copyRequest((HttpRequest) original, original.getURI()); diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/RoundRobinConnectionPoolTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/RoundRobinConnectionPoolTest.java deleted file mode 100644 index ac8a1ea9a25..00000000000 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/RoundRobinConnectionPoolTest.java +++ /dev/null @@ -1,99 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2018 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.client; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.eclipse.jetty.client.api.ContentResponse; -import org.eclipse.jetty.http.HttpStatus; -import org.eclipse.jetty.server.Request; -import org.eclipse.jetty.util.ssl.SslContextFactory; -import org.hamcrest.Matchers; -import org.junit.Assert; -import org.junit.Test; - -public class RoundRobinConnectionPoolTest extends AbstractHttpClientServerTest -{ - public RoundRobinConnectionPoolTest(SslContextFactory sslContextFactory) - { - super(sslContextFactory); - } - - @Test - public void testRoundRobin() throws Exception - { - AtomicBoolean record = new AtomicBoolean(); - List remotePorts = new ArrayList<>(); - start(new EmptyServerHandler() - { - @Override - protected void service(String target, Request jettyRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException - { - if (record.get()) - remotePorts.add(request.getRemotePort()); - } - }); - - int maxConnections = 3; - client.getTransport().setConnectionPoolFactory(destination -> new RoundRobinConnectionPool(destination, maxConnections, destination)); - - // Prime the connections, so that they are all opened - // before we actually test the round robin behavior. - String host = "localhost"; - int port = connector.getLocalPort(); - for (int i = 0; i < maxConnections; ++i) - { - ContentResponse response = client.newRequest(host, port) - .scheme(scheme) - .timeout(5, TimeUnit.SECONDS) - .send(); - Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); - } - - record.set(true); - int requests = 2 * maxConnections - 1; - for (int i = 0; i < requests; ++i) - { - ContentResponse response = client.newRequest(host, port) - .scheme(scheme) - .timeout(5, TimeUnit.SECONDS) - .send(); - Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); - } - - Assert.assertThat(remotePorts.size(), Matchers.equalTo(requests)); - for (int i = 0; i < requests; ++i) - { - int base = i % maxConnections; - int expected = remotePorts.get(base); - int candidate = remotePorts.get(i); - Assert.assertThat(client.dump() + System.lineSeparator() + remotePorts.toString(), expected, Matchers.equalTo(candidate)); - if (i > 0) - Assert.assertThat(remotePorts.get(i - 1), Matchers.not(Matchers.equalTo(candidate))); - } - } -} diff --git a/jetty-continuation/pom.xml b/jetty-continuation/pom.xml index f51494c0667..66fb726535b 100644 --- a/jetty-continuation/pom.xml +++ b/jetty-continuation/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-continuation diff --git a/jetty-deploy/pom.xml b/jetty-deploy/pom.xml index 171688bf532..b938e5cbec6 100644 --- a/jetty-deploy/pom.xml +++ b/jetty-deploy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-deploy diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index 32a051f13e7..12d05af28f1 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-distribution diff --git a/jetty-documentation/pom.xml b/jetty-documentation/pom.xml index 43479053336..be6d3c34ac1 100644 --- a/jetty-documentation/pom.xml +++ b/jetty-documentation/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT jetty-documentation Jetty :: Documentation diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml index 7027f8b2af5..9d8d5a92032 100644 --- a/jetty-fcgi/fcgi-client/pom.xml +++ b/jetty-fcgi/fcgi-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml index 7979c80ee32..ca16ba32c4e 100644 --- a/jetty-fcgi/fcgi-server/pom.xml +++ b/jetty-fcgi/fcgi-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.fcgi fcgi-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml index 6c109dda687..67efe339bf9 100644 --- a/jetty-fcgi/pom.xml +++ b/jetty-fcgi/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml index 6633cbd6ec8..4267b9acd2b 100644 --- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml +++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml @@ -5,7 +5,7 @@ org.eclipse.jetty.gcloud gcloud-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml index 5f867dd79fc..5858d879412 100644 --- a/jetty-gcloud/pom.xml +++ b/jetty-gcloud/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-hazelcast/pom.xml b/jetty-hazelcast/pom.xml index edfc34442b6..98b9f812bd5 100644 --- a/jetty-hazelcast/pom.xml +++ b/jetty-hazelcast/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-home/pom.xml b/jetty-home/pom.xml index b661cb1cb18..2c8233342fb 100644 --- a/jetty-home/pom.xml +++ b/jetty-home/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-home diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml index 9c5208d0f1f..9276e5d0a5a 100644 --- a/jetty-http-spi/pom.xml +++ b/jetty-http-spi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-http-spi diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml index cae6d2d1cbb..6c174f5e67d 100644 --- a/jetty-http/pom.xml +++ b/jetty-http/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-http diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml index 0e5acd688b5..474f4cb4499 100644 --- a/jetty-http2/http2-alpn-tests/pom.xml +++ b/jetty-http2/http2-alpn-tests/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml index 862fb6694e6..14d18446266 100644 --- a/jetty-http2/http2-client/pom.xml +++ b/jetty-http2/http2-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml index 224ddec4bae..378d17c47e6 100644 --- a/jetty-http2/http2-common/pom.xml +++ b/jetty-http2/http2-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml index 3a047ab1819..879d4b0f099 100644 --- a/jetty-http2/http2-hpack/pom.xml +++ b/jetty-http2/http2-hpack/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml index af8175afb1a..918f81a61b1 100644 --- a/jetty-http2/http2-http-client-transport/pom.xml +++ b/jetty-http2/http2-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-http2/http2-http-client-transport/src/test/java/org/eclipse/jetty/http2/client/http/HttpClientTransportOverHTTP2Test.java b/jetty-http2/http2-http-client-transport/src/test/java/org/eclipse/jetty/http2/client/http/HttpClientTransportOverHTTP2Test.java index 4504744cf5c..e08ee60b539 100644 --- a/jetty-http2/http2-http-client-transport/src/test/java/org/eclipse/jetty/http2/client/http/HttpClientTransportOverHTTP2Test.java +++ b/jetty-http2/http2-http-client-transport/src/test/java/org/eclipse/jetty/http2/client/http/HttpClientTransportOverHTTP2Test.java @@ -25,6 +25,7 @@ import java.net.ServerSocket; import java.net.Socket; import java.net.SocketTimeoutException; import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -534,6 +535,34 @@ public class HttpClientTransportOverHTTP2Test extends AbstractTest } } + @Test + public void test204WithContent() throws Exception + { + byte[] bytes = "No Content".getBytes(StandardCharsets.UTF_8); + start(new ServerSessionListener.Adapter() + { + @Override + public Stream.Listener onNewStream(Stream stream, HeadersFrame frame) + { + int streamId = stream.getId(); + MetaData.Response response = new MetaData.Response(HttpVersion.HTTP_2, HttpStatus.NO_CONTENT_204, new HttpFields()); + HeadersFrame responseFrame = new HeadersFrame(streamId, response, null, false); + Callback.Completable callback = new Callback.Completable(); + stream.headers(responseFrame, callback); + callback.thenRun(() -> stream.data(new DataFrame(streamId, ByteBuffer.wrap(bytes), true), Callback.NOOP)); + return null; + } + }); + + ContentResponse response = client.newRequest("localhost", connector.getLocalPort()) + .timeout(5, TimeUnit.SECONDS) + .send(); + + Assert.assertEquals(HttpStatus.NO_CONTENT_204, response.getStatus()); + // No logic on the client to discard content for no-content status codes. + Assert.assertArrayEquals(bytes, response.getContent()); + } + @Ignore @Test public void testExternalServer() throws Exception diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index cac2bfb73fa..5e2e1410971 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.http2 http2-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml index 24ffa4ba878..e7225bd139d 100644 --- a/jetty-http2/pom.xml +++ b/jetty-http2/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml index 14141ae0645..aaf3b4b8db4 100644 --- a/jetty-infinispan/pom.xml +++ b/jetty-infinispan/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-infinispan diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml index 42d3da264fc..7dfeb37f7f2 100644 --- a/jetty-io/pom.xml +++ b/jetty-io/pom.xml @@ -2,7 +2,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-io diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml index 33e69ba38ff..d1f8c65c10a 100644 --- a/jetty-jaas/pom.xml +++ b/jetty-jaas/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-jaas diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml index b101a3b62d7..7286039ea04 100644 --- a/jetty-jaspi/pom.xml +++ b/jetty-jaspi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-jaspi diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml index fe68ee5c275..dba6053c37c 100644 --- a/jetty-jmx/pom.xml +++ b/jetty-jmx/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-jmx diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml index e38f6dd6865..8303baf2f66 100644 --- a/jetty-jndi/pom.xml +++ b/jetty-jndi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-jndi diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml index a67d3f7eda9..b12ca89b4e9 100644 --- a/jetty-jspc-maven-plugin/pom.xml +++ b/jetty-jspc-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-jspc-maven-plugin @@ -10,6 +10,7 @@ Jetty :: Jetty JSPC Maven Plugin ${project.groupId}.jspc.plugin + false @@ -96,6 +97,12 @@ apache-jstl ${project.version} + + org.eclipse.jetty + jetty-servlets + ${project.version} + test + @@ -120,4 +127,43 @@ + + + run-its + + + + org.apache.maven.plugins + maven-invoker-plugin + + + integration-test + + integration-test + verify + + + + + ${it.debug} + true + src/it + ${project.build.directory}/it + + */pom.xml + + ${project.build.directory}/local-repo + src/it/settings.xml + + ${surefireVersion} + + + clean + + + + + + + diff --git a/jetty-jspc-maven-plugin/src/it/settings.xml b/jetty-jspc-maven-plugin/src/it/settings.xml new file mode 100644 index 00000000000..d64bdb89034 --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/settings.xml @@ -0,0 +1,36 @@ + + + + + + it-repo + + true + + + + local.central + @localRepositoryUrl@ + + true + + + true + + + + + + local.central + @localRepositoryUrl@ + + true + + + true + + + + + + diff --git a/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/invoker.properties b/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/invoker.properties new file mode 100644 index 00000000000..8a7cae8ef84 --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/invoker.properties @@ -0,0 +1,3 @@ +invoker.goals = test -fae +invoker.buildResult = failure +invoker.debug = true diff --git a/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/pom.xml b/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/pom.xml new file mode 100644 index 00000000000..f6c1416e8e8 --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/pom.xml @@ -0,0 +1,43 @@ + + + 4.0.0 + + org.eclipse.jetty.its.jspc + simple-jsp-fail + 0.0.1-SNAPSHOT + pom + + Jetty :: Simple Jsp Fail + + + UTF-8 + UTF-8 + 1.8 + 3.0.0 + @project.version@ + + + + + + + org.eclipse.jetty + jetty-jspc-maven-plugin + ${jetty.version} + + + + jspc + + compile + + src/main/jsp + + + + + + + + diff --git a/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/postbuild.groovy b/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/postbuild.groovy new file mode 100644 index 00000000000..f7e5d5e8bc1 --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/postbuild.groovy @@ -0,0 +1,3 @@ + + +System.out.println( "running postbuild.groovy" ) diff --git a/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/src/main/jsp/foo.jsp b/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/src/main/jsp/foo.jsp new file mode 100644 index 00000000000..00b636ccd93 --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/simple-jsp-fail/src/main/jsp/foo.jsp @@ -0,0 +1,23 @@ + +<%@ page import="java.util.Enumeration" %> + +

JSP Dump

+ + + + + + +<% + Enumeration e =request.getParameterNames(); + while(e.hasMoreElements()) + { + String name = (String)e.nextElement(); +%> + + + +<% } %> + +
Request URI:<%= request.getFoo() %>
ServletPath:<%= request.getServletPath() %>
PathInfo:<%= request.getPathInfo() %>
getParameter("<%= name %>")<%= request.getParameter(name) %>
+ diff --git a/jetty-jspc-maven-plugin/src/it/simple-jsp/invoker.properties b/jetty-jspc-maven-plugin/src/it/simple-jsp/invoker.properties new file mode 100644 index 00000000000..df6cbf2d0bc --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/simple-jsp/invoker.properties @@ -0,0 +1,2 @@ +invoker.goals = test -fae +invoker.debug = true diff --git a/jetty-jspc-maven-plugin/src/it/simple-jsp/pom.xml b/jetty-jspc-maven-plugin/src/it/simple-jsp/pom.xml new file mode 100644 index 00000000000..5b1bb09a31b --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/simple-jsp/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + org.eclipse.jetty.its.jspc + simple-jsp + 0.0.1-SNAPSHOT + pom + + Jetty :: Simple Jsp + + + UTF-8 + UTF-8 + 1.8 + @project.version@ + + + + + + + org.eclipse.jetty + jetty-jspc-maven-plugin + ${jetty.version} + + + + jspc + + compile + + + + + + + diff --git a/jetty-jspc-maven-plugin/src/it/simple-jsp/postbuild.groovy b/jetty-jspc-maven-plugin/src/it/simple-jsp/postbuild.groovy new file mode 100644 index 00000000000..f7e5d5e8bc1 --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/simple-jsp/postbuild.groovy @@ -0,0 +1,3 @@ + + +System.out.println( "running postbuild.groovy" ) diff --git a/jetty-jspc-maven-plugin/src/it/simple-jsp/src/main/webapp/foo.jsp b/jetty-jspc-maven-plugin/src/it/simple-jsp/src/main/webapp/foo.jsp new file mode 100644 index 00000000000..fb73b0b0002 --- /dev/null +++ b/jetty-jspc-maven-plugin/src/it/simple-jsp/src/main/webapp/foo.jsp @@ -0,0 +1,23 @@ + +<%@ page import="java.util.Enumeration" %> + +

JSP Dump

+ + + + + + +<% + Enumeration e =request.getParameterNames(); + while(e.hasMoreElements()) + { + String name = (String)e.nextElement(); +%> + + + +<% } %> + +
Request URI:<%= request.getRequestURI() %>
ServletPath:<%= request.getServletPath() %>
PathInfo:<%= request.getPathInfo() %>
getParameter("<%= name %>")<%= request.getParameter(name) %>
+ diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml index 0317e5c6ffc..2569110be79 100644 --- a/jetty-maven-plugin/pom.xml +++ b/jetty-maven-plugin/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-maven-plugin @@ -211,7 +211,6 @@ org.apache.maven.plugins maven-invoker-plugin - 3.0.1 integration-test @@ -265,18 +264,6 @@
- - - apache.snaphots - https://repository.apache.org/content/repositories/snapshots - - false - - - true - - - diff --git a/jetty-memcached/jetty-memcached-sessions/pom.xml b/jetty-memcached/jetty-memcached-sessions/pom.xml index 1c89cad06f5..6cfedf22d2e 100644 --- a/jetty-memcached/jetty-memcached-sessions/pom.xml +++ b/jetty-memcached/jetty-memcached-sessions/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.memcached memcached-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-memcached/pom.xml b/jetty-memcached/pom.xml index e4496d22708..9bc6ce5afa7 100644 --- a/jetty-memcached/pom.xml +++ b/jetty-memcached/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml index e085bb4a290..e0f26a52079 100644 --- a/jetty-nosql/pom.xml +++ b/jetty-nosql/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-nosql diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml index da2030cb447..45416caaa5a 100644 --- a/jetty-osgi/jetty-osgi-alpn/pom.xml +++ b/jetty-osgi/jetty-osgi-alpn/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-osgi-alpn diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml index d385c2199f6..67d38349569 100644 --- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-osgi-boot-jsp diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml index 2ab3d29ebaf..5ffcf5064a6 100644 --- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml +++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml index 15e2c1e72a4..362cf816d09 100644 --- a/jetty-osgi/jetty-osgi-boot/pom.xml +++ b/jetty-osgi/jetty-osgi-boot/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-osgi-boot diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml index a7eea3517ac..fa6248c2784 100644 --- a/jetty-osgi/jetty-osgi-httpservice/pom.xml +++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-httpservice diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml index 2f46d71bd83..997148a5b7e 100644 --- a/jetty-osgi/pom.xml +++ b/jetty-osgi/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml index 508819547e7..1232b165c1c 100644 --- a/jetty-osgi/test-jetty-osgi-context/pom.xml +++ b/jetty-osgi/test-jetty-osgi-context/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 test-jetty-osgi-context diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml index 37a3bfc23e5..094df02ac14 100644 --- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml +++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi-server/pom.xml b/jetty-osgi/test-jetty-osgi-server/pom.xml index 8eef0d3414e..d18e197d0c6 100644 --- a/jetty-osgi/test-jetty-osgi-server/pom.xml +++ b/jetty-osgi/test-jetty-osgi-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 test-jetty-osgi-server diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml index b6fe7565661..7e864e5909a 100644 --- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml +++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml index 88d59ec7162..d295f7839c7 100644 --- a/jetty-osgi/test-jetty-osgi/pom.xml +++ b/jetty-osgi/test-jetty-osgi/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty.osgi jetty-osgi-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml index f579e4f55fd..6e6cfce27df 100644 --- a/jetty-plus/pom.xml +++ b/jetty-plus/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-plus diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml index a336103a832..a6b33bd73f0 100644 --- a/jetty-proxy/pom.xml +++ b/jetty-proxy/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-proxy diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml index e448d4700de..944729c57bf 100644 --- a/jetty-quickstart/pom.xml +++ b/jetty-quickstart/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 org.eclipse.jetty diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml index 00300c48d2a..322b5f3505e 100644 --- a/jetty-rewrite/pom.xml +++ b/jetty-rewrite/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-rewrite diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml index 13778da970c..f453d05084f 100644 --- a/jetty-runner/pom.xml +++ b/jetty-runner/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-runner diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml index f9e7941c42f..f72821c49e6 100644 --- a/jetty-security/pom.xml +++ b/jetty-security/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-security diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml index e79329a2b8e..47536d32e76 100644 --- a/jetty-server/pom.xml +++ b/jetty-server/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-server diff --git a/jetty-servlet/pom.xml b/jetty-servlet/pom.xml index bd48e1c1dd3..79951eee943 100644 --- a/jetty-servlet/pom.xml +++ b/jetty-servlet/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-servlet diff --git a/jetty-servlets/pom.xml b/jetty-servlets/pom.xml index 46e2ca5ceac..b7a076e51be 100644 --- a/jetty-servlets/pom.xml +++ b/jetty-servlets/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-servlets diff --git a/jetty-spring/pom.xml b/jetty-spring/pom.xml index d0e6b0df7f9..be52a191c4a 100644 --- a/jetty-spring/pom.xml +++ b/jetty-spring/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-spring diff --git a/jetty-start/pom.xml b/jetty-start/pom.xml index 33d3b9d6e67..f7276c59bc4 100644 --- a/jetty-start/pom.xml +++ b/jetty-start/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-start diff --git a/jetty-unixsocket/pom.xml b/jetty-unixsocket/pom.xml index e968db1f764..48040450aec 100644 --- a/jetty-unixsocket/pom.xml +++ b/jetty-unixsocket/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-unixsocket diff --git a/jetty-util-ajax/pom.xml b/jetty-util-ajax/pom.xml index e641d83ba62..c215c0d143f 100644 --- a/jetty-util-ajax/pom.xml +++ b/jetty-util-ajax/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-util-ajax diff --git a/jetty-util/pom.xml b/jetty-util/pom.xml index e5b8143e6ef..5813e02d52b 100644 --- a/jetty-util/pom.xml +++ b/jetty-util/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-util diff --git a/jetty-webapp/pom.xml b/jetty-webapp/pom.xml index 74652244be3..e62cac02439 100644 --- a/jetty-webapp/pom.xml +++ b/jetty-webapp/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-webapp diff --git a/jetty-websocket/javax-websocket-client-impl/pom.xml b/jetty-websocket/javax-websocket-client-impl/pom.xml index d5690833dc5..7f99e781abd 100644 --- a/jetty-websocket/javax-websocket-client-impl/pom.xml +++ b/jetty-websocket/javax-websocket-client-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/javax-websocket-server-impl/pom.xml b/jetty-websocket/javax-websocket-server-impl/pom.xml index 2ac246aede8..79394cccb9f 100644 --- a/jetty-websocket/javax-websocket-server-impl/pom.xml +++ b/jetty-websocket/javax-websocket-server-impl/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/pom.xml b/jetty-websocket/pom.xml index f0a6806cae8..f00ab8feb75 100644 --- a/jetty-websocket/pom.xml +++ b/jetty-websocket/pom.xml @@ -3,7 +3,7 @@ jetty-project org.eclipse.jetty - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-api/pom.xml b/jetty-websocket/websocket-api/pom.xml index c12f1b50a02..dfbc15fd5a4 100644 --- a/jetty-websocket/websocket-api/pom.xml +++ b/jetty-websocket/websocket-api/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-client/pom.xml b/jetty-websocket/websocket-client/pom.xml index 74db3b95ff8..24b13f22219 100644 --- a/jetty-websocket/websocket-client/pom.xml +++ b/jetty-websocket/websocket-client/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-common/pom.xml b/jetty-websocket/websocket-common/pom.xml index a3340c7c432..03876342b28 100644 --- a/jetty-websocket/websocket-common/pom.xml +++ b/jetty-websocket/websocket-common/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index 1cffed0b955..4c83c0df631 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index 058325260fd..964ecc6d33a 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.websocket websocket-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/jetty-xml/pom.xml b/jetty-xml/pom.xml index 07b63b1a13a..15cefddcaab 100644 --- a/jetty-xml/pom.xml +++ b/jetty-xml/pom.xml @@ -2,7 +2,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jetty-xml diff --git a/pom.xml b/pom.xml index d1b0edd14a0..c48de9db7c4 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT Jetty :: Project The Eclipse Jetty Project pom @@ -442,6 +442,11 @@ maven-failsafe-plugin ${surefireVersion} + + org.apache.maven.plugins + maven-invoker-plugin + 3.0.1 + org.apache.maven.plugins maven-jar-plugin @@ -620,7 +625,7 @@ org.jacoco jacoco-maven-plugin - 0.8.0 + 0.8.1 com.agilejava.docbkx @@ -1006,50 +1011,6 @@ - - - jdk10 - - 10 - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.1-SNAPSHOT - - true - - - - - - - - oss.snapshots - OSS Snapshots - https://oss.sonatype.org/content/repositories/snapshots - - false - - - true - - - - apache.snapshots - https://repository.apache.org/content/repositories/snapshots - - false - - - true - - - - jdk11 @@ -1062,7 +1023,7 @@ org.jacoco jacoco-maven-plugin - 0.8.1-SNAPSHOT + 0.8.2-SNAPSHOT true diff --git a/tests/pom.xml b/tests/pom.xml index 48288692731..aec4748f54b 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty jetty-project - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml org.eclipse.jetty.tests diff --git a/tests/test-continuation/pom.xml b/tests/test-continuation/pom.xml index 45891a9fc50..ab068242280 100644 --- a/tests/test-continuation/pom.xml +++ b/tests/test-continuation/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml index f86e362cade..3693d3a3ff7 100644 --- a/tests/test-http-client-transport/pom.xml +++ b/tests/test-http-client-transport/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AbstractTest.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AbstractTest.java index 2a8e6e10e3f..2b49fc678c6 100644 --- a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AbstractTest.java +++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AbstractTest.java @@ -312,9 +312,7 @@ public abstract class AbstractTest protected String newURI() { if (connector instanceof ServerConnector) - { - return getScheme() + "://localhost:" + ServerConnector.class.cast( connector ).getLocalPort(); - } + return getScheme() + "://localhost:" + ServerConnector.class.cast(connector).getLocalPort(); return getScheme() + "://localhost"; } diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/RoundRobinConnectionPoolTest.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/RoundRobinConnectionPoolTest.java new file mode 100644 index 00000000000..e1c56314d30 --- /dev/null +++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/RoundRobinConnectionPoolTest.java @@ -0,0 +1,185 @@ +// +// ======================================================================== +// Copyright (c) 1995-2018 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.http.client; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.CyclicBarrier; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.eclipse.jetty.client.RoundRobinConnectionPool; +import org.eclipse.jetty.client.api.ContentResponse; +import org.eclipse.jetty.http.HttpStatus; +import org.eclipse.jetty.server.Request; +import org.hamcrest.Matchers; +import org.junit.Assert; +import org.junit.Test; + +public class RoundRobinConnectionPoolTest extends AbstractTest +{ + public RoundRobinConnectionPoolTest(Transport transport) + { + super(transport); + } + + @Test + public void testRoundRobin() throws Exception + { + AtomicBoolean record = new AtomicBoolean(); + List remotePorts = new ArrayList<>(); + start(new EmptyServerHandler() + { + @Override + protected void service(String target, Request jettyRequest, HttpServletRequest request, HttpServletResponse response) + { + if (record.get()) + remotePorts.add(request.getRemotePort()); + } + }); + + int maxConnections = 3; + client.getTransport().setConnectionPoolFactory(destination -> new RoundRobinConnectionPool(destination, maxConnections, destination)); + + // Prime the connections, so that they are all opened + // before we actually test the round robin behavior. + for (int i = 0; i < maxConnections; ++i) + { + ContentResponse response = client.newRequest(newURI()) + .timeout(5, TimeUnit.SECONDS) + .send(); + Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); + } + + record.set(true); + int requests = 2 * maxConnections - 1; + for (int i = 0; i < requests; ++i) + { + ContentResponse response = client.newRequest(newURI()) + .timeout(5, TimeUnit.SECONDS) + .send(); + Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); + } + + Assert.assertThat(remotePorts.size(), Matchers.equalTo(requests)); + for (int i = 0; i < requests; ++i) + { + int base = i % maxConnections; + int expected = remotePorts.get(base); + int candidate = remotePorts.get(i); + Assert.assertThat(client.dump() + System.lineSeparator() + remotePorts.toString(), expected, Matchers.equalTo(candidate)); + if (i > 0) + Assert.assertThat(remotePorts.get(i - 1), Matchers.not(Matchers.equalTo(candidate))); + } + } + + @Test + public void testMultiplex() throws Exception + { + int multiplex = 1; + if (transport == Transport.H2C || transport == Transport.H2) + multiplex = 4; + int maxMultiplex = multiplex; + + int maxConnections = 3; + int count = maxConnections * maxMultiplex; + + AtomicBoolean record = new AtomicBoolean(); + List remotePorts = new ArrayList<>(); + AtomicReference requestLatch = new AtomicReference<>(); + CountDownLatch serverLatch = new CountDownLatch(count); + CyclicBarrier barrier = new CyclicBarrier(count + 1); + start(new EmptyServerHandler() + { + @Override + protected void service(String target, Request jettyRequest, HttpServletRequest request, HttpServletResponse response) + { + try + { + if (record.get()) + { + remotePorts.add(request.getRemotePort()); + requestLatch.get().countDown(); + serverLatch.countDown(); + barrier.await(); + } + } + catch (Exception x) + { + throw new RuntimeException(x); + } + } + }); + + client.getTransport().setConnectionPoolFactory(destination -> new RoundRobinConnectionPool(destination, maxConnections, destination, maxMultiplex)); + + // Prime the connections, so that they are all opened + // before we actually test the round robin behavior. + for (int i = 0; i < maxConnections; ++i) + { + ContentResponse response = client.newRequest(newURI()) + .timeout(5, TimeUnit.SECONDS) + .send(); + Assert.assertEquals(HttpStatus.OK_200, response.getStatus()); + } + + record.set(true); + CountDownLatch clientLatch = new CountDownLatch(count); + AtomicInteger requests = new AtomicInteger(); + for (int i = 0; i < count; ++i) + { + CountDownLatch latch = new CountDownLatch(1); + requestLatch.set(latch); + client.newRequest(newURI()) + .path("/" + i) + .onRequestQueued(request -> requests.incrementAndGet()) + .onRequestBegin(request -> requests.decrementAndGet()) + .timeout(5, TimeUnit.SECONDS) + .send(result -> + { + if (result.getResponse().getStatus() == HttpStatus.OK_200) + clientLatch.countDown(); + }); + Assert.assertTrue(latch.await(5, TimeUnit.SECONDS)); + } + + Assert.assertTrue(serverLatch.await(5, TimeUnit.SECONDS)); + Assert.assertEquals(0, requests.get()); + + barrier.await(); + + Assert.assertTrue(clientLatch.await(5, TimeUnit.SECONDS)); + Assert.assertThat(remotePorts.size(), Matchers.equalTo(count)); + for (int i = 0; i < count; ++i) + { + int base = i % maxConnections; + int expected = remotePorts.get(base); + int candidate = remotePorts.get(i); + Assert.assertThat(client.dump() + System.lineSeparator() + remotePorts.toString(), expected, Matchers.equalTo(candidate)); + if (i > 0) + Assert.assertThat(remotePorts.get(i - 1), Matchers.not(Matchers.equalTo(candidate))); + } + } +} diff --git a/tests/test-integration/pom.xml b/tests/test-integration/pom.xml index 6e5cc58e119..ae08b31ae15 100644 --- a/tests/test-integration/pom.xml +++ b/tests/test-integration/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 test-integration diff --git a/tests/test-jmx/jmx-webapp-it/pom.xml b/tests/test-jmx/jmx-webapp-it/pom.xml index 60f2994d26d..ef12e9069f9 100644 --- a/tests/test-jmx/jmx-webapp-it/pom.xml +++ b/tests/test-jmx/jmx-webapp-it/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 jmx-webapp-it diff --git a/tests/test-jmx/jmx-webapp/pom.xml b/tests/test-jmx/jmx-webapp/pom.xml index 66ffb6db176..0419ab414d2 100644 --- a/tests/test-jmx/jmx-webapp/pom.xml +++ b/tests/test-jmx/jmx-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-jmx-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT jmx-webapp war diff --git a/tests/test-jmx/pom.xml b/tests/test-jmx/pom.xml index 21ee3e8a440..053dd470020 100644 --- a/tests/test-jmx/pom.xml +++ b/tests/test-jmx/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 test-jmx-parent diff --git a/tests/test-loginservice/pom.xml b/tests/test-loginservice/pom.xml index 4ba211f80c2..f6c407a671e 100644 --- a/tests/test-loginservice/pom.xml +++ b/tests/test-loginservice/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-loginservice Jetty Tests :: Login Service diff --git a/tests/test-quickstart/pom.xml b/tests/test-quickstart/pom.xml index f33f2d5eccb..6901d7af87e 100644 --- a/tests/test-quickstart/pom.xml +++ b/tests/test-quickstart/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-sessions/pom.xml b/tests/test-sessions/pom.xml index 40380a0b367..5f420cc4d76 100644 --- a/tests/test-sessions/pom.xml +++ b/tests/test-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-sessions-parent Jetty Tests :: Sessions :: Parent diff --git a/tests/test-sessions/test-file-sessions/pom.xml b/tests/test-sessions/test-file-sessions/pom.xml index 3698a4e89e1..2398cbb4e2d 100644 --- a/tests/test-sessions/test-file-sessions/pom.xml +++ b/tests/test-sessions/test-file-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-file-sessions Jetty Tests :: Sessions :: File diff --git a/tests/test-sessions/test-gcloud-sessions/pom.xml b/tests/test-sessions/test-gcloud-sessions/pom.xml index f8cceae737f..916e05ac4bf 100644 --- a/tests/test-sessions/test-gcloud-sessions/pom.xml +++ b/tests/test-sessions/test-gcloud-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-gcloud-sessions Jetty Tests :: Sessions :: GCloud diff --git a/tests/test-sessions/test-hash-sessions/pom.xml b/tests/test-sessions/test-hash-sessions/pom.xml index ef362ac21e7..a754d6bac9b 100644 --- a/tests/test-sessions/test-hash-sessions/pom.xml +++ b/tests/test-sessions/test-hash-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-hash-sessions Jetty Tests :: Sessions :: Hash diff --git a/tests/test-sessions/test-hazelcast-sessions/pom.xml b/tests/test-sessions/test-hazelcast-sessions/pom.xml index 9ad03019564..13c9cc376f9 100644 --- a/tests/test-sessions/test-hazelcast-sessions/pom.xml +++ b/tests/test-sessions/test-hazelcast-sessions/pom.xml @@ -5,7 +5,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-hazelcast-sessions Jetty Tests :: Sessions :: Hazelcast diff --git a/tests/test-sessions/test-infinispan-sessions/pom.xml b/tests/test-sessions/test-infinispan-sessions/pom.xml index 8039e09077c..d0a7d14009c 100644 --- a/tests/test-sessions/test-infinispan-sessions/pom.xml +++ b/tests/test-sessions/test-infinispan-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-infinispan-sessions Jetty Tests :: Sessions :: Infinispan diff --git a/tests/test-sessions/test-jdbc-sessions/pom.xml b/tests/test-sessions/test-jdbc-sessions/pom.xml index 026a3758c10..d133e3d450a 100644 --- a/tests/test-sessions/test-jdbc-sessions/pom.xml +++ b/tests/test-sessions/test-jdbc-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-jdbc-sessions Jetty Tests :: Sessions :: JDBC diff --git a/tests/test-sessions/test-memcached-sessions/pom.xml b/tests/test-sessions/test-memcached-sessions/pom.xml index 55f7ebc9020..12a21c5486d 100644 --- a/tests/test-sessions/test-memcached-sessions/pom.xml +++ b/tests/test-sessions/test-memcached-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-memcached-sessions Jetty Tests :: Sessions :: Memcached diff --git a/tests/test-sessions/test-mongodb-sessions/pom.xml b/tests/test-sessions/test-mongodb-sessions/pom.xml index 0b8d05d50ff..b6db6e4f89e 100644 --- a/tests/test-sessions/test-mongodb-sessions/pom.xml +++ b/tests/test-sessions/test-mongodb-sessions/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-mongodb-sessions Jetty Tests :: Sessions :: Mongo diff --git a/tests/test-sessions/test-sessions-common/pom.xml b/tests/test-sessions/test-sessions-common/pom.xml index 1d529731c35..9e204f3c14b 100644 --- a/tests/test-sessions/test-sessions-common/pom.xml +++ b/tests/test-sessions/test-sessions-common/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-sessions-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-sessions-common Jetty Tests :: Sessions :: Common diff --git a/tests/test-webapps/pom.xml b/tests/test-webapps/pom.xml index 8532cc3d32f..4c1f148ccd1 100644 --- a/tests/test-webapps/pom.xml +++ b/tests/test-webapps/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests tests-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml test-webapps-parent diff --git a/tests/test-webapps/test-http2-webapp/pom.xml b/tests/test-webapps/test-http2-webapp/pom.xml index 94faf572d9d..d28e48437bc 100644 --- a/tests/test-webapps/test-http2-webapp/pom.xml +++ b/tests/test-webapps/test-http2-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT 4.0.0 diff --git a/tests/test-webapps/test-jaas-webapp/pom.xml b/tests/test-webapps/test-jaas-webapp/pom.xml index 6aec106719c..48609e4e91c 100644 --- a/tests/test-webapps/test-jaas-webapp/pom.xml +++ b/tests/test-webapps/test-jaas-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-jaas-webapp Jetty Tests :: WebApp :: JAAS diff --git a/tests/test-webapps/test-jetty-webapp/pom.xml b/tests/test-webapps/test-jetty-webapp/pom.xml index c5e908928c4..d97db564d4e 100644 --- a/tests/test-webapps/test-jetty-webapp/pom.xml +++ b/tests/test-webapps/test-jetty-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-jndi-webapp/pom.xml b/tests/test-webapps/test-jndi-webapp/pom.xml index f0ceb2e7c30..0725054c4ab 100644 --- a/tests/test-webapps/test-jndi-webapp/pom.xml +++ b/tests/test-webapps/test-jndi-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-jndi-webapp Jetty Tests :: WebApp :: JNDI diff --git a/tests/test-webapps/test-mock-resources/pom.xml b/tests/test-webapps/test-mock-resources/pom.xml index b5158794e4c..b8adfdb0713 100644 --- a/tests/test-webapps/test-mock-resources/pom.xml +++ b/tests/test-webapps/test-mock-resources/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT Jetty Tests :: WebApp :: Mock Resources test-mock-resources diff --git a/tests/test-webapps/test-proxy-webapp/pom.xml b/tests/test-webapps/test-proxy-webapp/pom.xml index b9712db8d09..a71110a51df 100644 --- a/tests/test-webapps/test-proxy-webapp/pom.xml +++ b/tests/test-webapps/test-proxy-webapp/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT ../pom.xml 4.0.0 diff --git a/tests/test-webapps/test-servlet-spec/pom.xml b/tests/test-webapps/test-servlet-spec/pom.xml index 0de94384c9c..2462a879138 100644 --- a/tests/test-webapps/test-servlet-spec/pom.xml +++ b/tests/test-webapps/test-servlet-spec/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-servlet-spec-parent Jetty Tests :: Spec Test WebApp :: Parent diff --git a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml index 3f4930bfd19..8e975a2f1bd 100644 --- a/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-container-initializer jar diff --git a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml index 7ed612bf720..2c505050276 100644 --- a/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT Jetty Tests :: Webapps :: Spec Webapp test-spec-webapp diff --git a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml index 254488cf871..86b54cb965f 100644 --- a/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml +++ b/tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml @@ -3,7 +3,7 @@ org.eclipse.jetty.tests test-servlet-spec-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT Jetty Tests :: WebApp :: Servlet Spec :: Fragment Jar diff --git a/tests/test-webapps/test-webapp-rfc2616/pom.xml b/tests/test-webapps/test-webapp-rfc2616/pom.xml index 39c85650cfb..6e8d92d01d3 100644 --- a/tests/test-webapps/test-webapp-rfc2616/pom.xml +++ b/tests/test-webapps/test-webapp-rfc2616/pom.xml @@ -4,7 +4,7 @@ org.eclipse.jetty.tests test-webapps-parent - 9.4.9-SNAPSHOT + 9.4.10-SNAPSHOT test-webapp-rfc2616 Jetty Tests :: WebApp :: RFC2616