Buildbot success in on tomcat-10.1.x
Build status: Build succeeded! Worker used: bb2_worker2_ubuntu URL: https://ci2.apache.org/#builders/44/builds/606 Blamelist: Mark Thomas Build Text: build successful Status Detected: restored build Build Source Stamp: [branch 10.1.x] 9ff44bd2b75a99865fe4886c094ab120b748beb2 Steps: worker_preparation: 0 git: 0 shell: 0 shell_1: 0 shell_2: 0 shell_3: 0 shell_4: 0 shell_5: 0 compile: 1 shell_6: 0 shell_7: 0 shell_8: 0 shell_9: 0 Rsync docs to nightlies.apache.org: 0 shell_10: 0 Rsync RAT to nightlies.apache.org: 0 compile_1: 1 shell_11: 0 Rsync Logs to nightlies.apache.org: 0 -- ASF Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 8.5.x updated: Fix dropped HTTP/2 responses.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/8.5.x by this push: new f9f37b251a Fix dropped HTTP/2 responses. f9f37b251a is described below commit f9f37b251a1d7f34d881b920ccda3969719c2c83 Author: Mark Thomas AuthorDate: Fri Dec 16 20:37:03 2022 + Fix dropped HTTP/2 responses. When resetting an HTTP/2 stream because the final response has been generated before the request has been fully read, use the HTTP/2 error code NO_ERROR so that client does not discard the response. Based on a suggestion by Lorenzo Dalla Vecchia. --- java/org/apache/coyote/http2/StreamProcessor.java | 2 +- test/org/apache/coyote/http2/TestFlowControl.java | 2 +- webapps/docs/changelog.xml| 6 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/java/org/apache/coyote/http2/StreamProcessor.java b/java/org/apache/coyote/http2/StreamProcessor.java index 734a4cb3ad..6bfb7e7864 100644 --- a/java/org/apache/coyote/http2/StreamProcessor.java +++ b/java/org/apache/coyote/http2/StreamProcessor.java @@ -94,7 +94,7 @@ class StreamProcessor extends AbstractProcessor { // send any more data on this stream (reset). StreamException se = new StreamException( sm.getString("streamProcessor.cancel", stream.getConnectionId(), -stream.getIdAsString()), Http2Error.CANCEL, stream.getIdAsInt()); +stream.getIdAsString()), Http2Error.NO_ERROR, stream.getIdAsInt()); stream.close(se); } else if (!getErrorState().isConnectionIoAllowed()) { ConnectionException ce = new ConnectionException(sm.getString( diff --git a/test/org/apache/coyote/http2/TestFlowControl.java b/test/org/apache/coyote/http2/TestFlowControl.java index 60269389e1..8d45ce86d7 100644 --- a/test/org/apache/coyote/http2/TestFlowControl.java +++ b/test/org/apache/coyote/http2/TestFlowControl.java @@ -109,7 +109,7 @@ public class TestFlowControl extends Http2TestBase { "3-HeadersEnd\n" + "3-Body-" + contentLength + "\n" + "3-EndOfStream\n" + -"3-RST-[8]\n", output.getTrace()); +"3-RST-[0]\n", output.getTrace()); output.clearTrace(); // Write 3*16k=48k of request body diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index a5594a135f..484306e1d3 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -133,6 +133,12 @@ stream count limit was reached and no new streams could be created on that connection. (markt) + +66388: Correct a regression in the refactoring that replaced +the use of the URL constructors. The regression broke +lookups for resources that contained one or more characters in their +name that required escaping when used in a URI path. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 9.0.x updated: Fix dropped HTTP/2 responses.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/9.0.x by this push: new 448d02cdb2 Fix dropped HTTP/2 responses. 448d02cdb2 is described below commit 448d02cdb2b5a16127f3087e0bfeb9d1822c1367 Author: Mark Thomas AuthorDate: Fri Dec 16 20:37:03 2022 + Fix dropped HTTP/2 responses. When resetting an HTTP/2 stream because the final response has been generated before the request has been fully read, use the HTTP/2 error code NO_ERROR so that client does not discard the response. Based on a suggestion by Lorenzo Dalla Vecchia. --- java/org/apache/coyote/http2/StreamProcessor.java | 2 +- test/org/apache/coyote/http2/TestFlowControl.java | 2 +- webapps/docs/changelog.xml| 10 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/java/org/apache/coyote/http2/StreamProcessor.java b/java/org/apache/coyote/http2/StreamProcessor.java index 8582473521..cb946bff58 100644 --- a/java/org/apache/coyote/http2/StreamProcessor.java +++ b/java/org/apache/coyote/http2/StreamProcessor.java @@ -97,7 +97,7 @@ class StreamProcessor extends AbstractProcessor { // send any more data on this stream (reset). StreamException se = new StreamException( sm.getString("streamProcessor.cancel", stream.getConnectionId(), -stream.getIdAsString()), Http2Error.CANCEL, stream.getIdAsInt()); +stream.getIdAsString()), Http2Error.NO_ERROR, stream.getIdAsInt()); stream.close(se); } else if (!getErrorState().isConnectionIoAllowed()) { ConnectionException ce = new ConnectionException(sm.getString( diff --git a/test/org/apache/coyote/http2/TestFlowControl.java b/test/org/apache/coyote/http2/TestFlowControl.java index 60269389e1..8d45ce86d7 100644 --- a/test/org/apache/coyote/http2/TestFlowControl.java +++ b/test/org/apache/coyote/http2/TestFlowControl.java @@ -109,7 +109,7 @@ public class TestFlowControl extends Http2TestBase { "3-HeadersEnd\n" + "3-Body-" + contentLength + "\n" + "3-EndOfStream\n" + -"3-RST-[8]\n", output.getTrace()); +"3-RST-[0]\n", output.getTrace()); output.clearTrace(); // Write 3*16k=48k of request body diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index e5b523842d..ab3f798683 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -115,6 +115,16 @@ + + + +When resetting an HTTP/2 stream because the final response has been +generated before the request has been fully read, use the HTTP/2 error +code NO_ERROR so that client does not discard the response. +Based on a suggestion by Lorenzo Dalla Vecchia. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch 10.1.x updated: Fix dropped HTTP/2 responses.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/10.1.x by this push: new 9ff44bd2b7 Fix dropped HTTP/2 responses. 9ff44bd2b7 is described below commit 9ff44bd2b75a99865fe4886c094ab120b748beb2 Author: Mark Thomas AuthorDate: Fri Dec 16 20:37:03 2022 + Fix dropped HTTP/2 responses. When resetting an HTTP/2 stream because the final response has been generated before the request has been fully read, use the HTTP/2 error code NO_ERROR so that client does not discard the response. Based on a suggestion by Lorenzo Dalla Vecchia. --- java/org/apache/coyote/http2/StreamProcessor.java | 2 +- test/org/apache/coyote/http2/TestFlowControl.java | 2 +- webapps/docs/changelog.xml| 10 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/java/org/apache/coyote/http2/StreamProcessor.java b/java/org/apache/coyote/http2/StreamProcessor.java index 5572e070c9..3afda9037b 100644 --- a/java/org/apache/coyote/http2/StreamProcessor.java +++ b/java/org/apache/coyote/http2/StreamProcessor.java @@ -97,7 +97,7 @@ class StreamProcessor extends AbstractProcessor { // send any more data on this stream (reset). StreamException se = new StreamException( sm.getString("streamProcessor.cancel", stream.getConnectionId(), -stream.getIdAsString()), Http2Error.CANCEL, stream.getIdAsInt()); +stream.getIdAsString()), Http2Error.NO_ERROR, stream.getIdAsInt()); stream.close(se); } else if (!getErrorState().isConnectionIoAllowed()) { ConnectionException ce = new ConnectionException(sm.getString( diff --git a/test/org/apache/coyote/http2/TestFlowControl.java b/test/org/apache/coyote/http2/TestFlowControl.java index 60269389e1..8d45ce86d7 100644 --- a/test/org/apache/coyote/http2/TestFlowControl.java +++ b/test/org/apache/coyote/http2/TestFlowControl.java @@ -109,7 +109,7 @@ public class TestFlowControl extends Http2TestBase { "3-HeadersEnd\n" + "3-Body-" + contentLength + "\n" + "3-EndOfStream\n" + -"3-RST-[8]\n", output.getTrace()); +"3-RST-[0]\n", output.getTrace()); output.clearTrace(); // Write 3*16k=48k of request body diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index acba8b8f2e..2149041f04 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -115,6 +115,16 @@ + + + +When resetting an HTTP/2 stream because the final response has been +generated before the request has been fully read, use the HTTP/2 error +code NO_ERROR so that client does not discard the response. +Based on a suggestion by Lorenzo Dalla Vecchia. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[tomcat] branch main updated: Fix dropped HTTP/2 responses.
This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/main by this push: new 1e7e121cef Fix dropped HTTP/2 responses. 1e7e121cef is described below commit 1e7e121cefe6dae4ef03bc046b9575192ff13cc1 Author: Mark Thomas AuthorDate: Fri Dec 16 20:37:03 2022 + Fix dropped HTTP/2 responses. When resetting an HTTP/2 stream because the final response has been generated before the request has been fully read, use the HTTP/2 error code NO_ERROR so that client does not discard the response. Based on a suggestion by Lorenzo Dalla Vecchia. --- java/org/apache/coyote/http2/StreamProcessor.java | 2 +- test/org/apache/coyote/http2/TestFlowControl.java | 2 +- webapps/docs/changelog.xml| 6 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/java/org/apache/coyote/http2/StreamProcessor.java b/java/org/apache/coyote/http2/StreamProcessor.java index 5572e070c9..3afda9037b 100644 --- a/java/org/apache/coyote/http2/StreamProcessor.java +++ b/java/org/apache/coyote/http2/StreamProcessor.java @@ -97,7 +97,7 @@ class StreamProcessor extends AbstractProcessor { // send any more data on this stream (reset). StreamException se = new StreamException( sm.getString("streamProcessor.cancel", stream.getConnectionId(), -stream.getIdAsString()), Http2Error.CANCEL, stream.getIdAsInt()); +stream.getIdAsString()), Http2Error.NO_ERROR, stream.getIdAsInt()); stream.close(se); } else if (!getErrorState().isConnectionIoAllowed()) { ConnectionException ce = new ConnectionException(sm.getString( diff --git a/test/org/apache/coyote/http2/TestFlowControl.java b/test/org/apache/coyote/http2/TestFlowControl.java index 60269389e1..8d45ce86d7 100644 --- a/test/org/apache/coyote/http2/TestFlowControl.java +++ b/test/org/apache/coyote/http2/TestFlowControl.java @@ -109,7 +109,7 @@ public class TestFlowControl extends Http2TestBase { "3-HeadersEnd\n" + "3-Body-" + contentLength + "\n" + "3-EndOfStream\n" + -"3-RST-[8]\n", output.getTrace()); +"3-RST-[0]\n", output.getTrace()); output.clearTrace(); // Write 3*16k=48k of request body diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 378bbc5ac0..f7685e8a37 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -136,6 +136,12 @@ Add a parser for the priority HTTP header field defined in RFC 9218. (markt) + +When resetting an HTTP/2 stream because the final response has been +generated before the request has been fully read, use the HTTP/2 error +code NO_ERROR so that client does not discard the response. +Based on a suggestion by Lorenzo Dalla Vecchia. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: HTTP/2 priorities
On Tue, Dec 6, 2022 at 5:21 PM Mark Thomas wrote: > > Hi all, > > I plan to implement RFC 9218 [1] for HTTP/2 in Tomcat 11. Depending on > how that goes, I may back-port the changes. > > Given the difficulties we have in prioritizing creation of responses, I > plan to continue the current approach of prioritizing the sending of > data when the connection window size is smaller than the currently > active streams have collectively requested. > > My rough plan at this stage, which is likely to change as I work through > the implementation, is: > > - remove all the code that supports the current priority tree approach I read the spec and this does sound interesting: https://www.rfc-editor.org/rfc/rfc9218.html#name-incremental This would solve the stream concurrency issue which heavily degrades performance and had to be limited using maxConcurrentStreamExecution. Rémy > - include SETTINGS_NO_RFC7540_PRIORITIES in the initial settings > - implement the new priority scheme - expected to be a much simpler >algorithm in Http2UpgradeHandler.allocate() > > Mark > > > [1] https://www.rfc-editor.org/rfc/rfc9218.html#name-priority-parameters > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 66392] AccessLogValue's file encoding does not correspond to the documentation
https://bz.apache.org/bugzilla/show_bug.cgi?id=66392 --- Comment #2 from Michael Osipov --- (In reply to Han Li from comment #1) > (In reply to Michael Osipov from comment #0) > > May java.nio.charset.Charset.defaultCharset() would be better here, no? > No, I found the reason why not use java.nio.charset.Charset.defaultCharset() > by git commit log. > https://github.com/apache/tomcat/commit/ > 972212836bf278e443b87418d961d6ddb04262a6 > > I also have a question based on the comment at BZ51408, is it time to use > UTF-8 as the default encoding set now? Looking that the commit, in several spots US-ASCII would be a better choice because the usecase does not allow anything else but 7-bit chars. In this case, yes I'd prefer UTF-8 all the way -- at least the documentation and code must be consistent. E.g., here https://github.com/apache/tomcat/commit/972212836bf278e443b87418d961d6ddb04262a6#diff-95ff2368b8571e4f1439f6a6c954993bd9a1de99e7083b9f0c07bb39af7382a2R100. US-ASCII is fully sufficient. Similar case: https://github.com/apache/httpcomponents-core/pull/375 -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org