[jbosscache-issues] [JBoss JIRA] Commented: (JBCACHE-1572) NPE on cache.put when the corresponding fqn is removed in parallel

Galder Zamarreno (JIRA) jira-events at lists.jboss.org
Mon Mar 29 06:13:38 EDT 2010


    [ https://jira.jboss.org/jira/browse/JBCACHE-1572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12522519#action_12522519 ] 

Galder Zamarreno commented on JBCACHE-1572:
-------------------------------------------

For interest of the rest of the audience, here's the NPE:

java.lang.NullPointerException
at org.jboss.cache.invocation.NodeInvocationDelegate.putDirect(NodeInvocationDelegate.java:223)
at org.jboss.cache.commands.write.PutKeyValueCommand.perform(PutKeyValueCommand.java:86)
at org.jboss.cache.interceptors.CallInterceptor.invokeCommand(CallInterceptor.java:108)
at org.jboss.cache.interceptors.CallInterceptor.handleAlterCacheMethod(CallInterceptor.java:173)
at org.jboss.cache.interceptors.CallInterceptor.visitPutKeyValueCommand(CallInterceptor.java:131)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.MVCCLockingInterceptor.handlePutKeyValueCommand(MVCCLockingInterceptor.java:102)
at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.visitPutKeyValueCommand(PrePostProcessingCommandInterceptor.java:88)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
at org.jboss.cache.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:65)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:301)
at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:283)
at org.jboss.cache.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:65)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:119)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)
at org.jboss.cache.interceptors.InvocationContextInterceptor.visitPutKeyValueCommand(InvocationContextInterceptor.java:82)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:287)
at org.jboss.cache.invocation.CacheInvocationDelegate.put(CacheInvocationDelegate.java:555)
at org.jboss.cache.JbCache1572TestJBCConcurrency$1.run(JbCache1572TestJBCConcurrency.java:44)

The root cause is the fix I did for JBCACHE-1555. When re-peeking after unlocking, I skipped the necessary null check.

> NPE on cache.put when the corresponding fqn is removed in parallel
> ------------------------------------------------------------------
>
>                 Key: JBCACHE-1572
>                 URL: https://jira.jboss.org/jira/browse/JBCACHE-1572
>             Project: JBoss Cache
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 3.2.2.GA, 3.2.3.CR1
>            Reporter: Nicolas Filotto
>            Assignee: Galder Zamarreno
>         Attachments: TestJBCConcurrency.java
>
>
> Since JBC 3.2.2.GA, I have a unit test failing due to concurrent modifications of the same Fqn. In my test case, I have one group of threads that simply call cache.put and another group that call cache.removeNode on the same set of FQNs. Since JBC 3.2.2.GA, I get NPE on cache.put see the TestCase attached to the JIRA.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosscache-issues mailing list