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 2012/08/27 23:46:29 UTC

svn commit: r1377884 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java webapps/docs/changelog.xml

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org