[
http://jira.jboss.com/jira/browse/JBCACHE-927?page=all ]
Manik Surtani closed JBCACHE-927.
---------------------------------
Resolution: Done
My bad - forgot to test that the node gets added to it's parent's child map in
addition to being recreated. Tests updated and fix is in CVS HEAD.
Repeated remove and put under optimistic locking produces exception
-------------------------------------------------------------------
Key: JBCACHE-927
URL:
http://jira.jboss.com/jira/browse/JBCACHE-927
Project: JBoss Cache
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 2.0.0.ALPHA1
Reporter: Ben Wang
Assigned To: Manik Surtani
Fix For: 2.0.0.BETA1
Manik, I am not assigning this Jira to any release. It is your call to fix it either in
ALPHA2 or BETA1. Basically, my o.jo.c.pojo.optimistic.CachedListTest failure can be
attributed to this test case:
public void testFailure1() throws Exception
{
log.info("testFailure1() ....");
UserTransaction tx = getTransaction();
org.jboss.cache.Fqn f = new org.jboss.cache.Fqn("/person/test2");
tx.begin();
cache.getCache().put(f, "test", "test");
tx.commit();
tx.begin();
cache.getCache().removeNode(f);
cache.getCache().put(f, "test", "test");
tx.commit();
}
For optimistic locking and it produces the following error:
org.jboss.cache.CacheException: Unable to set node version for //person/test2, node is
null.
at
org.jboss.cache.interceptors.OptimisticNodeInterceptor.invoke(OptimisticNodeInterceptor.java:129)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at
org.jboss.cache.interceptors.OptimisticCreateIfNotExistsInterceptor.invoke(OptimisticCreateIfNotExistsInterceptor.java:64)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at
org.jboss.cache.interceptors.OptimisticValidatorInterceptor.invoke(OptimisticValidatorInterceptor.java:74)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at
org.jboss.cache.interceptors.OptimisticLockingInterceptor.invoke(OptimisticLockingInterceptor.java:124)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at
org.jboss.cache.interceptors.NotificationInterceptor.invoke(NotificationInterceptor.java:22)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:288)
at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:126)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at
org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:141)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at
org.jboss.cache.interceptors.InvocationContextInterceptor.invoke(InvocationContextInterceptor.java:66)
at org.jboss.cache.CacheImpl.invokeMethod(CacheImpl.java:3758)
at org.jboss.cache.CacheImpl.put(CacheImpl.java:1558)
at org.jboss.cache.pojo.optimistic.LocalTxTest.testFailure1(LocalTxTest.java:151)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
If you don't fix it in Alpha2, we will need to exclude my test case temporarily in CC
then.
--
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