[tomcat] 02/02: http2: Add 'EndOfStream' to the logs for writeHeaders and writeBody

2020-09-24 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit b8e5607a4fccfd47ad653c5788ac1ba052411094
Author: Martin Tzvetanov Grigorov 
AuthorDate: Thu Sep 24 13:46:31 2020 +0300

http2: Add 'EndOfStream' to the logs for writeHeaders and writeBody

Mark Http2AsyncUpgradeHandler#errorCompletion and 
#applicationErrorCompletion as final.
Call streams.size() just once.
Extract local variables and reuse them instead of calling getters on every 
usage

(cherry picked from commit 6f178006f246ce9248a349705ba79d054d189b70)
---
 .../coyote/http2/Http2AsyncUpgradeHandler.java |  6 +++---
 .../apache/coyote/http2/Http2UpgradeHandler.java   | 22 --
 .../apache/coyote/http2/LocalStrings.properties|  4 ++--
 3 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
index 21c8fa8..eb116a7 100644
--- a/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
@@ -51,7 +51,7 @@ public class Http2AsyncUpgradeHandler extends 
Http2UpgradeHandler {
 super(protocol, adapter, coyoteRequest);
 }
 
-private CompletionHandler errorCompletion = new 
CompletionHandler() {
+private final CompletionHandler errorCompletion = new 
CompletionHandler() {
 @Override
 public void completed(Long result, Void attachment) {
 }
@@ -60,7 +60,7 @@ public class Http2AsyncUpgradeHandler extends 
Http2UpgradeHandler {
 error = t;
 }
 };
-private CompletionHandler applicationErrorCompletion = new 
CompletionHandler() {
+private final CompletionHandler applicationErrorCompletion = 
new CompletionHandler() {
 @Override
 public void completed(Long result, Void attachment) {
 }
@@ -199,7 +199,7 @@ public class Http2AsyncUpgradeHandler extends 
Http2UpgradeHandler {
 void writeBody(Stream stream, ByteBuffer data, int len, boolean finished) 
throws IOException {
 if (log.isDebugEnabled()) {
 log.debug(sm.getString("upgradeHandler.writeBody", connectionId, 
stream.getIdAsString(),
-Integer.toString(len)));
+Integer.toString(len), Boolean.valueOf(finished)));
 }
 // Need to check this now since sending end of stream will change this.
 boolean writeable = stream.canWrite();
diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index 98a5438..dbd7491 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -665,7 +665,7 @@ class Http2UpgradeHandler extends AbstractStream implements 
InternalHttpUpgradeH
 if (log.isDebugEnabled()) {
 if (pushedStreamId == 0) {
 log.debug(sm.getString("upgradeHandler.writeHeaders", 
connectionId,
-stream.getIdAsString()));
+stream.getIdAsString(), Boolean.valueOf(endOfStream)));
 } else {
 log.debug(sm.getString("upgradeHandler.writePushHeaders", 
connectionId,
 stream.getIdAsString(), 
Integer.valueOf(pushedStreamId),
@@ -1160,9 +1160,10 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 // maximum number of concurrent streams
 long max = localSettings.getMaxConcurrentStreams();
 
+final int size = streams.size();
 if (log.isDebugEnabled()) {
 log.debug(sm.getString("upgradeHandler.pruneStart", connectionId,
-Long.toString(max), Integer.toString(streams.size(;
+Long.toString(max), Integer.toString(size)));
 }
 
 // Allow an additional 10% for closed streams that are used in the
@@ -1172,7 +1173,7 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 max = Integer.MAX_VALUE;
 }
 
-int toClose = streams.size() - (int) max;
+int toClose = size - (int) max;
 if (toClose < 1) {
 return;
 }
@@ -1199,16 +1200,17 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 continue;
 }
 
+final Integer streamIdentifier = entry.getKey();
 if (stream.isClosedFinal()) {
 // This stream went from IDLE to CLOSED and is likely to have
 // been created by the client as part of the priority tree.
-candidatesStepThree.add(entry.getKey());
+candidatesStepThree.add(streamIdentifier);
 } else if (stream.getChildStreams().size() == 0) {
  

[tomcat] 02/02: http2: Add 'EndOfStream' to the logs for writeHeaders and writeBody

2020-09-24 Thread mgrigorov
This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 6f178006f246ce9248a349705ba79d054d189b70
Author: Martin Tzvetanov Grigorov 
AuthorDate: Thu Sep 24 13:46:31 2020 +0300

http2: Add 'EndOfStream' to the logs for writeHeaders and writeBody

Mark Http2AsyncUpgradeHandler#errorCompletion and 
#applicationErrorCompletion as final.
Call streams.size() just once.
Extract local variables and reuse them instead of calling getters on every 
usage
---
 .../coyote/http2/Http2AsyncUpgradeHandler.java |  6 +++---
 .../apache/coyote/http2/Http2UpgradeHandler.java   | 22 --
 .../apache/coyote/http2/LocalStrings.properties|  4 ++--
 3 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
index 951c21c..9c274ac 100644
--- a/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2AsyncUpgradeHandler.java
@@ -51,7 +51,7 @@ public class Http2AsyncUpgradeHandler extends 
Http2UpgradeHandler {
 super(protocol, adapter, coyoteRequest);
 }
 
-private CompletionHandler errorCompletion = new 
CompletionHandler() {
+private final CompletionHandler errorCompletion = new 
CompletionHandler() {
 @Override
 public void completed(Long result, Void attachment) {
 }
@@ -60,7 +60,7 @@ public class Http2AsyncUpgradeHandler extends 
Http2UpgradeHandler {
 error = t;
 }
 };
-private CompletionHandler applicationErrorCompletion = new 
CompletionHandler() {
+private final CompletionHandler applicationErrorCompletion = 
new CompletionHandler() {
 @Override
 public void completed(Long result, Void attachment) {
 }
@@ -199,7 +199,7 @@ public class Http2AsyncUpgradeHandler extends 
Http2UpgradeHandler {
 void writeBody(Stream stream, ByteBuffer data, int len, boolean finished) 
throws IOException {
 if (log.isDebugEnabled()) {
 log.debug(sm.getString("upgradeHandler.writeBody", connectionId, 
stream.getIdAsString(),
-Integer.toString(len)));
+Integer.toString(len), Boolean.valueOf(finished)));
 }
 // Need to check this now since sending end of stream will change this.
 boolean writeable = stream.canWrite();
diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index bc6fed0..152b2f3 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -665,7 +665,7 @@ class Http2UpgradeHandler extends AbstractStream implements 
InternalHttpUpgradeH
 if (log.isDebugEnabled()) {
 if (pushedStreamId == 0) {
 log.debug(sm.getString("upgradeHandler.writeHeaders", 
connectionId,
-stream.getIdAsString()));
+stream.getIdAsString(), Boolean.valueOf(endOfStream)));
 } else {
 log.debug(sm.getString("upgradeHandler.writePushHeaders", 
connectionId,
 stream.getIdAsString(), 
Integer.valueOf(pushedStreamId),
@@ -1160,9 +1160,10 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 // maximum number of concurrent streams
 long max = localSettings.getMaxConcurrentStreams();
 
+final int size = streams.size();
 if (log.isDebugEnabled()) {
 log.debug(sm.getString("upgradeHandler.pruneStart", connectionId,
-Long.toString(max), Integer.toString(streams.size(;
+Long.toString(max), Integer.toString(size)));
 }
 
 // Allow an additional 10% for closed streams that are used in the
@@ -1172,7 +1173,7 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 max = Integer.MAX_VALUE;
 }
 
-int toClose = streams.size() - (int) max;
+int toClose = size - (int) max;
 if (toClose < 1) {
 return;
 }
@@ -1199,16 +1200,17 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
 continue;
 }
 
+final Integer streamIdentifier = entry.getKey();
 if (stream.isClosedFinal()) {
 // This stream went from IDLE to CLOSED and is likely to have
 // been created by the client as part of the priority tree.
-candidatesStepThree.add(entry.getKey());
+candidatesStepThree.add(streamIdentifier);
 } else if (stream.getChildStreams().size() == 0) {
 // Closed, no children
-