CDV ❯ Visibility in Local Transaction when using RMI
-
Bug
-
Status: Open
-
2 Major
-
Resolution:
-
-
-
zaraki
-
Reporter: zaraki
-
March 01, 2011
-
0
-
Watchers: 1
-
January 05, 2012
-
Attachments
Description
A cache.put at instance M1 is visible at remote instance M2 before Transaction.commit() is invoked . This is the 2.5.0-SNAPSHOT
Comments
Ludovic Orban 2011-03-02
h k 2011-03-02
fooreplicator2 is started first and loads the cache and prints the contents of 1st 10 elements in a infinite loop.
foo is the object that is being replicated
h k 2011-03-02
fooreplicator1 is tarted once the infinite loop in fooreplicator2 loop is hit.
frepl1 loads the same objects as frepl2 and startes modifying the first 10 within a Tx. I know replication happens as the values printed out in frepl2 update to reflect the new values.
This particular Bug I encountered by Starting foorepl2 allowing it to enter the infinite loop followed by starting foorepl1 wiith a breakpoint on the cache.put(element1); Line 103 and before I stepped over the Tx.commit the value was visible in foorepl2.
ehcache_test.xml is identical for both.
Thanks!
Fiona OShea 2011-05-09
Assigning back to DRB to review comments
Fiona OShea 2011-06-23
What are your thoughts on this?
Ludovic Orban 2011-06-24
I’m 99% sure there is a mistake in the user’s understanding.
I tried the attached example and reviewed the code and I can’t figure out why on earth what he reports could happen.
Fiona OShea 2011-06-28
We are unable to reproduce this issue you are seeing. Is there any additional information you can provide which may help us to debug this?
Can you add more details about what you’re observing? A reproducible test would be best of course.
What puzzles me is that uncommitted data is not serializable so I fail to see how it could be replicated by RMI, even if the replication mechanism decided to replicate uncommitted data which it obviously avoids doing.