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 89af83580c Partial fix for BZ-68558. Improve performance by caching byte[]->String 89af83580c is described below commit 89af83580c103d15fa828bc4047223c4664ea3a1 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 935a38d932..a013f88bca 100644 --- a/java/org/apache/catalina/connector/Request.java +++ b/java/org/apache/catalina/connector/Request.java @@ -2343,7 +2343,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 e148e4e244..5059b875b4 100644 --- a/java/org/apache/coyote/Request.java +++ b/java/org/apache/coyote/Request.java @@ -458,7 +458,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 2a9316ad75..cfb66cdf99 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -165,6 +165,12 @@ configured on <code>SSLHostConfigCertificate</code> instances. Based on pull request <pr>673</pr> provided by Hakan Altındağ. (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