[
http://jira.jboss.com/jira/browse/JBCACHE-1164?page=comments#action_12373397 ]
Jacek Halat commented on JBCACHE-1164:
--------------------------------------
yes, this exists in 2.0.0 GA, but because put/remove operations are replaced with
attach/detach and in 2.0.0 GA another exception is thrown (UpgradeException) another issue
was created (JBCACHE-1164). (Probably this is this same bug but exception for user is
another)
NodeNotExistException with concurent put/remove operations
----------------------------------------------------------
Key: JBCACHE-1164
URL:
http://jira.jboss.com/jira/browse/JBCACHE-1164
Project: JBoss Cache
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: PojoCache
Affects Versions: 1.4.1.SP4
Environment: Windows XP, Sun jdk150_06
Reporter: Jacek Halat
Assigned To: Jason T. Greene
Attachments: ConcurentOperationsTest.java
When 2 Threads are putting/removing data from this same node, put operation fails with
exception
org.jboss.cache.NodeNotExistsException: node /a/b/c/d not found
(gtx=GlobalTransaction::2, caller=Thread[Thread-0,5,main])
at org.jboss.cache.TreeCache._put(TreeCache.java:4618)
at org.jboss.cache.TreeCache._put(TreeCache.java:4579)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jgroups.blocks.MethodCall.invoke(MethodCall.java:330)
at org.jboss.cache.interceptors.CallInterceptor.invoke(CallInterceptor.java:52)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at
org.jboss.cache.interceptors.PessimisticLockInterceptor.invoke(PessimisticLockInterceptor.java:89)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
at org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockInterceptor.java:32)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
(...)
Thread 1 is calling:
cache.remove("/a/b/c/d");
cache.remove("/a");
Thread 2 is calling:
cache.putObject("/a/b/c/d", "text" + x);
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira