You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2024/02/12 20:32:47 UTC
(tomcat) branch 8.5.x updated: Partial fix for BZ-68558. Improve performance by caching byte[]->String
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push:
new 1855dddd06 Partial fix for BZ-68558. Improve performance by caching byte[]->String
1855dddd06 is described below
commit 1855dddd062a97a43cccdba38648254d43158549
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 4955e49fa7..2103b93226 100644
--- a/java/org/apache/catalina/connector/Request.java
+++ b/java/org/apache/catalina/connector/Request.java
@@ -2372,7 +2372,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 201d8e54d8..9f4ef030fa 100644
--- a/java/org/apache/coyote/Request.java
+++ b/java/org/apache/coyote/Request.java
@@ -443,7 +443,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 a5a63eadef..5900a72199 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -159,6 +159,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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org