This is an automated email from the ASF dual-hosted git repository.
markt-asf pushed a commit to branch 11.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/11.0.x by this push:
new f4c5993f5f Fix issues with concurrent read/write of standard HashMap
f4c5993f5f is described below
commit f4c5993f5f1077d17b7b5e6806e1c053172d21de
Author: Mark Thomas <[email protected]>
AuthorDate: Tue Jun 9 11:56:01 2026 +0100
Fix issues with concurrent read/write of standard HashMap
---
.../catalina/tribes/group/interceptors/FragmentationInterceptor.java | 5 +++--
webapps/docs/changelog.xml | 4 ++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git
a/java/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java
b/java/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java
index 7a5f5aec8c..51e0f093ef 100644
---
a/java/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java
+++
b/java/org/apache/catalina/tribes/group/interceptors/FragmentationInterceptor.java
@@ -17,8 +17,9 @@
package org.apache.catalina.tribes.group.interceptors;
import java.util.Arrays;
-import java.util.HashMap;
+import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.catalina.tribes.ChannelException;
import org.apache.catalina.tribes.ChannelMessage;
@@ -57,7 +58,7 @@ public class FragmentationInterceptor extends
ChannelInterceptorBase implements
/**
* Map of fragment keys to their fragment collections for reassembly.
*/
- protected final HashMap<FragKey,FragCollection> fragpieces = new
HashMap<>();
+ protected final Map<FragKey,FragCollection> fragpieces = new
ConcurrentHashMap<>();
private int maxSize = 1024 * 100;
private long expire = 1000 * 60; // one minute expiration
/**
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 3e48817a61..f5713d0ac1 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -348,6 +348,10 @@
Ensure listeners are correctly added and removed when configuring the
channel coordinator. (markt)
</fix>
+ <fix>
+ Fix some concurrency issues in <code>FragmentationInterceptor</code>.
+ (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="WebSocket">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]