[jboss-jira] [JBoss JIRA] Created: (JBCACHE-1319) NPE with CacheMode.LOCAL and buddy replication enabled
Brian Stansberry (JIRA)
jira-events at lists.jboss.org
Sun Apr 6 12:56:31 EDT 2008
NPE with CacheMode.LOCAL and buddy replication enabled
------------------------------------------------------
Key: JBCACHE-1319
URL: http://jira.jboss.com/jira/browse/JBCACHE-1319
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 2.1.1.GA
Reporter: Brian Stansberry
Assigned To: Manik Surtani
Priority: Minor
Proving the theory no good deed goes unpunished, the fix for JBCACHE-1311 results in an NPE if a cache is configured for local mode but has BR enabled. Minor issue, as this isn't a meaningful config; just cropped up in an AS unit test one of whose permutations by chance used such a config:
NPE is from ResponseValdityFilter, which passes a null members list to new ArrayList(Collection):
java.lang.NullPointerException
at java.util.ArrayList.<init>(ArrayList.java:133)
at org.jboss.cache.interceptors.DataGravitatorInterceptor$ResponseValidityFilter.<init>(DataGravitatorInterceptor.java:482)
at org.jboss.cache.interceptors.DataGravitatorInterceptor.gravitateData(DataGravitatorInterceptor.java:338)
at org.jboss.cache.interceptors.DataGravitatorInterceptor.remoteBackupGet(DataGravitatorInterceptor.java:286)
at org.jboss.cache.interceptors.DataGravitatorInterceptor.handleGetMethod(DataGravitatorInterceptor.java:184)
at org.jboss.cache.interceptors.DataGravitatorInterceptor.handleGetKeyValueMethod(DataGravitatorInterceptor.java:100)
at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:84)
at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:58)
at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
at org.jboss.cache.interceptors.CacheLoaderInterceptor.handleGetKeyValueMethod(CacheLoaderInterceptor.java:146)
at org.jboss.cache.interceptors.ActivationInterceptor.handleGetKeyValueMethod(ActivationInterceptor.java:118)
at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:84)
at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
at org.jboss.cache.interceptors.PessimisticLockInterceptor.handleGetKeyValueMethod(PessimisticLockInterceptor.java:347)
at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:84)
at org.jboss.cache.interceptors.PessimisticLockInterceptor.invoke(PessimisticLockInterceptor.java:81)
at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:58)
at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:456)
at org.jboss.cache.interceptors.TxInterceptor.handleGetKeyValueMethod(TxInterceptor.java:250)
at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:84)
at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.handleGetKeyValueMethod(CacheMgmtInterceptor.java:81)
at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:84)
at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)
at org.jboss.cache.interceptors.InvocationContextInterceptor.invoke(InvocationContextInterceptor.java:73)
at org.jboss.cache.invocation.AbstractInvocationDelegate.invoke(AbstractInvocationDelegate.java:123)
at org.jboss.cache.invocation.AbstractInvocationDelegate.invoke(AbstractInvocationDelegate.java:64)
at org.jboss.cache.invocation.CacheInvocationDelegate.get(CacheInvocationDelegate.java:387)
at org.jboss.web.tomcat.service.session.JBossCacheWrapper.get(JBossCacheWrapper.java:80)
at org.jboss.web.tomcat.service.session.JBossCacheService.loadSession(JBossCacheService.java:312)
at org.jboss.web.tomcat.service.session.JBossCacheManager.loadSession(JBossCacheManager.java:1189)
at org.jboss.web.tomcat.service.session.JBossCacheManager.findSession(JBossCacheManager.java:933)
at org.jboss.test.cluster.defaultcfg.simpleweb.test.SessionCountUnitTestCase.createAndUseSession(SessionCountUnitTestCase.java:951)
at org.jboss.test.cluster.defaultcfg.simpleweb.test.SessionCountUnitTestCase.standaloneWarRedeployTest(SessionCountUnitTestCase.java:695)
at org.jboss.test.cluster.defaultcfg.simpleweb.test.SessionCountUnitTestCase.testStandaloneRestart(SessionCountUnitTestCase.java:673)
One fix is to check for null in the ResponseValidityFilter constructor. Probably better is to detect the CacheMode.LOCAL and don't initialize the whole BR subsystem.
--
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
More information about the jboss-jira
mailing list