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 983975085d Partial fix for BZ-68558. Improve performance by caching byte[]->String 983975085d is described below commit 983975085def5144ca5db9b695b822d787ded51e 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 508b279edf..d78887ce3a 100644 --- a/java/org/apache/catalina/connector/Request.java +++ b/java/org/apache/catalina/connector/Request.java @@ -2250,7 +2250,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 2cbf500b46..6d2ab8b640 100644 --- a/java/org/apache/coyote/Request.java +++ b/java/org/apache/coyote/Request.java @@ -479,7 +479,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 1106be7ad6..065a19a223 100644 --- a/java/org/apache/tomcat/util/http/MimeHeaders.java +++ b/java/org/apache/tomcat/util/http/MimeHeaders.java @@ -413,7 +413,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 e4ddfbd30c..446d2d7ea9 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -176,6 +176,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