I am doing some testing of using TreeCache in a cluster environment. To test simultanious txns I have Thread 1 put an object into the cache and wait 10 seconds before commiting. Then I have a second thread attempt to put an object into the cache on the same node during the interval taken by thread 1. As I expect, I get a lockTimeout exception from the 2nd thread that began it's txn after the first thread began it's txn. My problem is that the exception is propagated to all members in the cluster and causes the original put call to fail. How can I avoid this problem?
You can't. Otherwise, you will have an inconsistent, won't you?