You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2019/05/23 22:33:51 UTC
[tomcat] branch master updated: Refine fix for apparent end of
stream concurrency with async
This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push:
new 317480b Refine fix for apparent end of stream concurrency with async
317480b is described below
commit 317480b90546a69bdf661e747cb89dda8727d462
Author: remm <re...@apache.org>
AuthorDate: Fri May 24 00:33:42 2019 +0200
Refine fix for apparent end of stream concurrency with async
Needs testing.
---
java/org/apache/coyote/http2/Http2AsyncParser.java | 7 +++----
webapps/docs/changelog.xml | 3 +++
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/java/org/apache/coyote/http2/Http2AsyncParser.java b/java/org/apache/coyote/http2/Http2AsyncParser.java
index 84342a4..ba3ec3a 100644
--- a/java/org/apache/coyote/http2/Http2AsyncParser.java
+++ b/java/org/apache/coyote/http2/Http2AsyncParser.java
@@ -240,14 +240,14 @@ class Http2AsyncParser extends Http2Parser {
if (streamException) {
swallow(streamId, payloadSize, false, payload);
} else {
- // TODO: Find why this sync is needed
- synchronized (input) {
switch (frameType) {
case DATA:
readDataFrame(streamId, flags, payloadSize, payload);
break;
case HEADERS:
- readHeadersFrame(streamId, flags, payloadSize, payload);
+ synchronized (upgradeHandler) {
+ readHeadersFrame(streamId, flags, payloadSize, payload);
+ }
break;
case PRIORITY:
readPriorityFrame(streamId, payload);
@@ -276,7 +276,6 @@ class Http2AsyncParser extends Http2Parser {
case UNKNOWN:
readUnknownFrame(streamId, frameType, flags, payloadSize, payload);
}
- }
}
// See if there is a new 9 byte header and continue parsing if possible
if (payload.remaining() >= 9) {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 3155c8c..a6979de 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -152,6 +152,9 @@
Drop legacy NIO double socket close (close channel, then close
socket). (remm)
</fix>
+ <fix>
+ Fix HTTP/2 end of stream concurrency with async. (remm)
+ </fix>
</changelog>
</subsection>
<subsection name="Cluster">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org