[JBoss JIRA] Created: (JBCACHE-927) Repeated remove and put under optimistic locking produces exception
by Ben Wang (JIRA)
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
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
18 years, 11 months
[JBoss JIRA] Created: (JBCACHE-701) PojoCache to revisit usage of get with gravitation
by Ben Wang (JIRA)
PojoCache to revisit usage of get with gravitation
--------------------------------------------------
Key: JBCACHE-701
URL: http://jira.jboss.com/jira/browse/JBCACHE-701
Project: JBoss Cache
Issue Type: Task
Security Level: Public (Everyone can see)
Components: PojoCache
Reporter: Ben Wang
Assigned To: Ben Wang
Fix For: POJOCache
Currently we have in couple places to trigger data gravitation (for buddy replication) in PojoCache. But this is still prone to error (and may be inefficient as well) becuase of the possibility of recursive call. Is it possible that we do this from the user code instead? That is, before we go to PojoCache, can we do get(region, dataGravitation) to gravitate all data to this node first?
Let's check this with Brian.
--
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
18 years, 11 months