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 5ac96bf47b Partial fix for BZ-68558. Improve performance by caching byte[]->String 5ac96bf47b is described below commit 5ac96bf47bafe20f59f6c4e22fd39ff35f1f466a Author: Mark Thomas <ma...@apache.org> AuthorDate: Mon Feb 12 20:30:35 2024 +0000 Partial fix for BZ-68558. Improve performance by caching byte[]->String https://bz.apache.org/bugzilla/show_bug.cgi?id=68558 --- java/org/apache/catalina/connector/Request.java | 2 +- java/org/apache/coyote/Request.java | 2 +- java/org/apache/tomcat/util/http/MimeHeaders.java | 2 +- webapps/docs/changelog.xml | 6 ++++++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/java/org/apache/catalina/connector/Request.java b/java/org/apache/catalina/connector/Request.java index 2f799d62c1..e429bd00cf 100644 --- a/java/org/apache/catalina/connector/Request.java +++ b/java/org/apache/catalina/connector/Request.java @@ -2381,7 +2381,7 @@ public class Request implements HttpServletRequest { */ @Override public String getRequestURI() { - return coyoteRequest.requestURI().toString(); + return coyoteRequest.requestURI().toStringType(); } diff --git a/java/org/apache/coyote/Request.java b/java/org/apache/coyote/Request.java index f5b1c12960..e6f1ea8ce2 100644 --- a/java/org/apache/coyote/Request.java +++ b/java/org/apache/coyote/Request.java @@ -442,7 +442,7 @@ public final class Request { if (contentTypeMB == null || contentTypeMB.isNull()) { return null; } - return contentTypeMB.toString(); + return contentTypeMB.toStringType(); } diff --git a/java/org/apache/tomcat/util/http/MimeHeaders.java b/java/org/apache/tomcat/util/http/MimeHeaders.java index dbe0cee272..fd4394c882 100644 --- a/java/org/apache/tomcat/util/http/MimeHeaders.java +++ b/java/org/apache/tomcat/util/http/MimeHeaders.java @@ -418,7 +418,7 @@ class NamesEnumerator implements Enumeration<String> { private void findNext() { next = null; for (; pos < size; pos++) { - next = headers.getName(pos).toString(); + next = headers.getName(pos).toStringType(); for (int j = 0; j < pos; j++) { if (headers.getName(j).equalsIgnoreCase(next)) { // duplicate. diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index b92d0b824e..bd7d48f99a 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -165,6 +165,12 @@ Improve the Tomcat Native shutdown process to reduce the likelihood of a JVM crash during Tomcat shutdown. (markt) </fix> + <fix> + Partial fix for <bug>68558</bug>: Cache the result of converting to + <code>String</code> for request URI, HTTP header names and the request + <code>Content-Type</code> value to improve performance by reducing + repeated <code>byte[]</code> to <code>String</code> conversions. (markt) + </fix> </changelog> </subsection> <subsection name="Jasper"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org