Author: rjung
Date: Thu Apr 15 19:00:23 2010
New Revision: 934546
URL: http://svn.apache.org/viewvc?rev=934546&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 r814024 from trunk and r884949 from TC 5.5.x.
Modified:
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java
Modified:
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
URL:
http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java?rev=934546&r1=934545&r2=934546&view=diff
==============================================================================
---
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
(original)
+++
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
Thu Apr 15 19:00:23 2010
@@ -115,7 +115,7 @@ public class DeltaManager extends Cluste
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 ;
Modified:
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java
URL:
http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java?rev=934546&r1=934545&r2=934546&view=diff
==============================================================================
---
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java
(original)
+++
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/SimpleTcpReplicationManager.java
Thu Apr 15 19:00:23 2010
@@ -101,7 +101,7 @@ implements ClusterManager
* Flag to keep track if the state has been transferred or not
* Assumes false.
*/
- protected boolean stateTransferred = false;
+ protected volatile boolean stateTransferred = false;
private boolean notifyListenersOnReplication;
private boolean sendClusterDomainOnly = true ;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]