Bug 47369

Summary: DeltaRequest is never reset. (use BackupManager)
Product: Tomcat 6 Reporter: Keiichi Fujino <fujino.keiichi>
Component: ClusterAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 6.0.20   
Target Milestone: default   
Hardware: All   
OS: All   

Description Keiichi Fujino 2009-06-15 03:34:59 UTC
DeltaRequest is never reset after the session replication when BackupManager is used. 
This means information on the previous session replication replicate again. 
actions.size() of DeltaRequest increases until the session becomes invalid.

I think that I should reset DeltaRequest in each session replication. 
For instance, as follows.

[start.]

Index: java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
===================================================================
--- java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java	(revision 763870)
+++ java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java	(working copy)
@@ -401,6 +401,7 @@
                                          rentry.getDiff(),
                                          entry.getPrimary(),
                                          entry.getBackupNodes());
+                    rentry.resetDiff();
                 } catch (IOException x) {
                     log.error("Unable to diff object. Will replicate the entire object instead.", x);
                 } finally {


[end.]

Best regards
Comment 1 Filip Hanik 2009-06-15 10:37:08 UTC
Fixed in trunk, proposed for backport into 6.0.x

Thank you for the patch, much appreciated.