Author: kkolinko Date: Sun Oct 25 21:55:05 2015 New Revision: 1710487 URL: http://svn.apache.org/viewvc?rev=1710487&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58313 Fix concurrent access of encoders map when clearing encoders during Comet processing.
Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/InputBuffer.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1710487&r1=1710486&r2=1710487&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Sun Oct 25 21:55:05 2015 @@ -36,13 +36,6 @@ PATCHES PROPOSED TO BACKPORT: +1: markt, remm -1: -* Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58313 - http://svn.apache.org/r1700872 - http://svn.apache.org/r1701095 - Not required for async but still required because of Comet - +1: markt, remm, kkolinko - -1: - * Ensure LogFactoryImpl is excluded from extras/tomcat-juli-adapters jar. Reported by Benjamin Gandon on the dev list Mail thread: http://tomcat.markmail.org/thread/7iygcau3vja4cbui Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/InputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/InputBuffer.java?rev=1710487&r1=1710486&r2=1710487&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/InputBuffer.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/InputBuffer.java Sun Oct 25 21:55:05 2015 @@ -22,7 +22,8 @@ import java.io.Reader; import java.security.AccessController; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; -import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.apache.catalina.security.SecurityUtil; import org.apache.catalina.util.StringManager; @@ -125,7 +126,7 @@ public class InputBuffer extends Reader /** * List of encoders. */ - protected HashMap encoders = new HashMap(); + protected final Map encoders = new ConcurrentHashMap(); /** Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1710487&r1=1710486&r2=1710487&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/OutputBuffer.java Sun Oct 25 21:55:05 2015 @@ -23,11 +23,12 @@ import java.io.Writer; import java.security.AccessController; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; -import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import org.apache.catalina.Globals; import org.apache.coyote.ActionCode; import org.apache.coyote.Response; -import org.apache.catalina.Globals; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.buf.C2BConverter; @@ -112,7 +113,7 @@ public class OutputBuffer extends Writer /** * List of encoders. */ - protected HashMap encoders = new HashMap(); + protected final Map encoders = new ConcurrentHashMap(); /** Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1710487&r1=1710486&r2=1710487&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Sun Oct 25 21:55:05 2015 @@ -59,6 +59,10 @@ or <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code> system property. (kkolinko) </fix> + <fix> + <bug>58313</bug>: Fix concurrent access of encoders map when clearing + encoders during Comet processing. (markt) + </fix> </changelog> </subsection> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org