As mentioned in a previous post, I am using the cache in an asychronously 
replicated manner, and with the default isolation level of REPEATABLE_READ I 
get lock errors when there is moderate to heavy use of the cache.

As suggested, I set the isolation level to NONE, and I received the following 
error from lots of the threads accessing the cache (even with mild to moderate 
use of the cache).


  | java.lang.IllegalStateException: addWriter(): owner already existed 
  |  at org.jboss.cache.lock.LockMap.addWriter(LockMap.java:112) 
  |  at 
org.jboss.cache.lock.IdentityLock.acquireWriteLock(IdentityLock.java:175) 
  |  at org.jboss.cache.Node.acquireWriteLock(Node.java:483) 
  |  at org.jboss.cache.Node.acquire(Node.java:440) 
  |  at 
org.jboss.cache.interceptors.LockInterceptor.lock(LockInterceptor.java:240) 
  |  at 
org.jboss.cache.interceptors.LockInterceptor.invoke(LockInterceptor.java:156) 
  |  at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:40) 
  |  at 
org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockInterceptor.java:35)
 
  |  at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:40) 
  |  at 
org.jboss.cache.interceptors.ReplicationInterceptor.replicate(ReplicationInterceptor.java:217)
 
  |  at org.jboss.cache.TreeCache._replicate(TreeCache.java:2682) 
  |  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  |  at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  |  at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 
  |  at java.lang.reflect.Method.invoke(Method.java:324) 
  |  at org.jgroups.blocks.MethodCall.invoke(MethodCall.java:236) 
  |  at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:220) 
  |  at 
org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:615) 
  |  at 
org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:512) 
  |  at 
org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:326) 
  |  at 
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(MessageDispatcher.java:722)
 
  |  at 
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(MessageDispatcher.java:554)
 
  |  at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:691) 
  |  at java.lang.Thread.run(Thread.java:534)
  | 

Is this an issue or expected?  Would a test case that presents this behavior 
help (it seems easy to produce in our application anyway)?

I set the isolation level to READ_UNCOMMITTED while running the same tests that 
produced the above issue, and it seems promising, but I am not done testing 
with it yet.  Is this a valid workaround for this issue?

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3871843#3871843

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3871843


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to