"jacek187" wrote :
| In my opinion TreeCache is yet NOT READY for production use. Probably it works in
simple single-thread applications, but in real situations, with many concurent threads
TreeCache dosen't work correctly...
|
No, more specifically, it IS ready for production use in multi threaded systems, but
cleary does NOT behave well when used with a transaction manager that cleans up timed out
transactions in a separate thread - specifically WebLogic's TM. This is evident in
some of the JIRAs you have raised (such as JBCACHE-923).
The solution to this problem is unfortunately not that straightforward, since locks in JBC
are obtained either on the Thread (in the case of non-tx operation) or a GlobalTransaction
(in the case of running within a tx). Implicit in the design is that only one thread
would ever use a GlobalTransaction object at a given time, and this is where it all breaks
down when you have a TM that performs rollbacks in a separate thread. It opens up the
possibility for the TM to be trying to obtain locks on a node to roll back, while your app
thread tries to obtain locks on the same node to write to it. This WILL be allowed since
they both pertain to the same GlobalTransaction object.
Jacek, I'd recommend joining the JBoss Cache dev mail list - we will be discussing
this problem in more detail there.
Cheers,
Manik
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4085034#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...