Author: markt Date: Mon Aug 27 21:46:29 2012 New Revision: 1377884 URL: http://svn.apache.org/viewvc?rev=1377884&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53513 Fix race condition between the processing of session sync message and transfer complete message.
Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.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=1377884&r1=1377883&r2=1377884&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Aug 27 21:46:29 2012 @@ -117,13 +117,6 @@ PATCHES PROPOSED TO BACKPORT: +1: markt, kfujino, kkolinko, schultz -1: -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53513 - Fix race condition between the processing of session sync message and transfer - complete message. - http://svn.apache.org/viewvc?view=revision&revision=1359044 - +1: kfujino, kkolinko, markt - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53481 Add support for SSLHonorCipherOrder http://svn.apache.org/viewvc?view=revision&revision=1371298 Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java?rev=1377884&r1=1377883&r2=1377884&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java Mon Aug 27 21:46:29 2012 @@ -57,6 +57,7 @@ import org.apache.catalina.tribes.group. import org.apache.catalina.tribes.group.interceptors.TcpFailureDetector; import org.apache.catalina.ha.session.JvmRouteBinderValve; import org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener; +import org.apache.catalina.ha.session.SessionMessage; /** * A <b>Cluster </b> implementation using simple multicast. Responsible for @@ -808,14 +809,19 @@ public class SimpleTcpCluster public void send(ClusterMessage msg, Member dest) { try { msg.setAddress(getLocalMember()); + int sendOptions = channelSendOptions; + if (msg instanceof SessionMessage + && ((SessionMessage)msg).getEventType() == SessionMessage.EVT_ALL_SESSION_DATA) { + sendOptions = Channel.SEND_OPTIONS_SYNCHRONIZED_ACK|Channel.SEND_OPTIONS_USE_ACK; + } if (dest != null) { if (!getLocalMember().equals(dest)) { - channel.send(new Member[] {dest}, msg,channelSendOptions); + channel.send(new Member[] {dest}, msg, sendOptions); } else log.error("Unable to send message to local member " + msg); } else { if (channel.getMembers().length>0) - channel.send(channel.getMembers(),msg,channelSendOptions); + channel.send(channel.getMembers(),msg, sendOptions); else if (log.isDebugEnabled()) log.debug("No members in cluster, ignoring message:"+msg); } 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=1377884&r1=1377883&r2=1377884&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Mon Aug 27 21:46:29 2012 @@ -266,6 +266,10 @@ Replicate principal in ClusterSingleSignOn. (kfujino) </fix> <fix> + <bug>53513</bug>: Fix race condition between the processing of session + sync message and transfer complete message. (kfujino) + </fix> + <fix> <bug>53606</bug>: Fix potential NPE in <code>TcpPingInterceptor</code>. Based on a patch by F. Arnoud. (markt) </fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org