• 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

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.

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?