Bug 47369 - DeltaRequest is never reset. (use BackupManager)
Summary: DeltaRequest is never reset. (use BackupManager)
Status: RESOLVED FIXED
Alias: None
Product: Tomcat 6
Classification: Unclassified
Component: Cluster (show other bugs)
Version: 6.0.20
Hardware: All All
: P2 normal (vote)
Target Milestone: default
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-15 03:34 UTC by Keiichi Fujino
Modified: 2009-06-15 10:37 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.