Author: markt Date: Fri Nov 27 18:46:12 2009 New Revision: 884949 URL: http://svn.apache.org/viewvc?rev=884949&view=rev Log: Spurious startup errors in the cluster Although the secondary node is able to retrieve all sessions, the main thread doesn't see the changed stateTransfered flag, and thus waits until the transfer timeout occurs. Observed on Solaris. Switching to volatile fixes it. Port of Rainer's patch (r814024) in trunk
Modified: tomcat/tc5.5.x/trunk/STATUS.txt tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java Modified: tomcat/tc5.5.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/STATUS.txt?rev=884949&r1=884948&r2=884949&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/STATUS.txt (original) +++ tomcat/tc5.5.x/trunk/STATUS.txt Fri Nov 27 18:46:12 2009 @@ -84,16 +84,6 @@ +1: markt -1: -* Spurious startup errors in the cluster - Although the secondary node is able to retrieve all sessions, - the main thread doesn't see the changed stateTransfered flag, - and thus waits until the transfer timeout occurs. - Observed on Solaris. Switching to volatile fixes it. - Backport from trunk: http://svn.apache.org/viewvc?rev=814024&view=rev - Need to patch both copies of DeltaManager (ha and cluster). - +1: rjung, markt, mturk - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46384 Correct synchronisation problem that leads to cluster members permanently disappearing Modified: tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java?rev=884949&r1=884948&r2=884949&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java (original) +++ tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaManager.java Fri Nov 27 18:46:12 2009 @@ -129,7 +129,7 @@ private boolean notifySessionListenersOnReplication = true; - private boolean stateTransfered = false ; + private volatile boolean stateTransfered = false ; private int stateTransferTimeout = 60; Modified: tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java?rev=884949&r1=884948&r2=884949&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java (original) +++ tomcat/tc5.5.x/trunk/container/modules/ha/src/share/org/apache/catalina/ha/session/DeltaManager.java Fri Nov 27 18:46:12 2009 @@ -111,7 +111,7 @@ private boolean expireSessionsOnShutdown = false; private boolean notifyListenersOnReplication = true; private boolean notifySessionListenersOnReplication = true; - private boolean stateTransfered = false ; + private volatile boolean stateTransfered = false ; private int stateTransferTimeout = 60; private boolean sendAllSessions = true; private boolean sendClusterDomainOnly = true ; --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org