Author: fhanik
Date: Thu Mar 23 00:29:19 2006
New Revision: 388105

URL: http://svn.apache.org/viewcvs?rev=388105&view=rev
Log:
Fixed the startup order of the backup manager, otherwise the standard manager 
empties out all the sessions upon stop

Modified:
    
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
    
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
    
tomcat/container/tc5.5.x/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=388105&r1=388104&r2=388105&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 Thu Mar 23 00:29:19 2006
@@ -234,7 +234,7 @@
 
             }
             try {
-                if ( entry.getBackupNodes()!= null && 
entry.getBackupNodes().length > 0 ) {
+                if ( channel!=null && entry.getBackupNodes()!= null && 
entry.getBackupNodes().length > 0 ) {
                     channel.send(entry.getBackupNodes(), msg, 
channelSendOptions);
                 }
             } catch (ChannelException x) {

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
URL: 
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java?rev=388105&r1=388104&r2=388105&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
 Thu Mar 23 00:29:19 2006
@@ -148,10 +148,8 @@
     public Object get(Object key) {
         MapEntry entry = (MapEntry)super.get(key);
         if (log.isTraceEnabled()) log.trace("Requesting id:"+key+" 
entry:"+entry);
-        System.out.println("Requesting id:"+key+" entry:"+entry);
         if ( entry == null ) return null;
         if ( !entry.isPrimary() ) {
-            if ( entry.isProxy() ) System.out.println("PROXY:Requesting 
id:"+key+" entry:"+entry);
             //if the message is not primary, we need to retrieve the latest 
value
             try {
                 Member[] backup = null;

Modified: 
tomcat/container/tc5.5.x/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java
URL: 
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java?rev=388105&r1=388104&r2=388105&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/ha/src/share/org/apache/catalina/ha/session/BackupManager.java
 Thu Mar 23 00:29:19 2006
@@ -124,6 +124,7 @@
     }
     
     public ClusterMessage requestCompleted(String sessionId) {
+        if ( !this.started ) return null;
         LazyReplicatedMap map = (LazyReplicatedMap)sessions;
         map.replicate(sessionId,false);
         return null;
@@ -221,16 +222,21 @@
      */
     public void stop() throws LifecycleException
     {
+        
+        LazyReplicatedMap map = (LazyReplicatedMap)sessions;
+        if ( map!=null ) {
+            map.breakdown();
+        }
         if ( !this.started ) return;
-        super.stop();
         try {
-            cluster.removeManager(getName(),this);
-            LazyReplicatedMap map = (LazyReplicatedMap)sessions;
-            map.breakdown();
         } catch ( Exception x ){
             log.error("Unable to stop BackupManager",x);
             throw new LifecycleException("Failed to stop BackupManager",x);
+        } finally {
+            super.stop();
         }
+        cluster.removeManager(getName(),this);
+
     }
 
     public void setDistributable(boolean dist) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to