1 2 Previous Next 17 Replies Latest reply: Feb 14, 2012 8:34 AM by Vladimir Blagojevic RSS

Concurrent write issue encountered with TreeCache at client site...

rcbj Newbie

I'm hoping someone can help me with this.  I'm working with a client that is using Infinispan 5.1.0.FINAL on Sun JDK 1.6.0.  They've run into what appears to be a concurrency issue around TreeCache recently.  They have provided a test case that reproduces the issue.  The issue was originally occuring in a three node cluster, but  the test case given here can reproduce the issue in a single JVM.

 

There is a source cache and a destination cache.

 

The source cache's root node is populated with 500 child nodes (with a same string for both key & value--ChildNode1, ChildNode2, etc).

 

A DistributedCallable object then spawns a series of Callable objects that process each of the nodes in the source cache and put copies in the destination cache. Each put operation claims to be successful.

 

After this is completed, they walk through the destination cache checking to see if all 500 of the nodes are present.  Often when they run this, they receive something like:

java.lang.Exception: Cache-1 Destination root node lacked a key for ChildNode1

 

This means that the second node of 500 was missing from the cache even though the write to the destination cache claimed it was successful.

 

I have run this test dozens of times.  I've gotten it to complete a couple of times.  So, this leads me to believe it is some kind of concurrency issue.

 

I'm including the source code for the test program that reproduces the issue.  This is a greatly simplified version of what happens at the client site.

 

Thank you in advance for you time.

1 2 Previous Next