[infinispan-issues] [JBoss JIRA] Commented: (ISPN-635) NPE on acquire lock LockManagerImpl.lockAndRecord
Galder Zamarreño (JIRA)
jira-events at lists.jboss.org
Mon Sep 13 10:58:12 EDT 2010
[ https://jira.jboss.org/browse/ISPN-635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12550557#action_12550557 ]
Galder Zamarreño commented on ISPN-635:
---------------------------------------
Sanne, thanks for the invaluable feedback! This answers my question earlier about whether creating caches (but not starting them) would be expensive. Clearly this has an effect on your case, so checking caches collection earlier in the method has a positive effect. The patch looks good to me. I'll run the testsuite locally to verify all looks good and if it does so, I'll commit the changes asap.
> NPE on acquire lock LockManagerImpl.lockAndRecord
> -------------------------------------------------
>
> Key: ISPN-635
> URL: https://jira.jboss.org/browse/ISPN-635
> Project: Infinispan
> Issue Type: Bug
> Components: Locking and Concurrency
> Affects Versions: 4.1.0.Final
> Reporter: Sanne Grinovero
> Assignee: Galder Zamarreño
> Fix For: 4.2.0.BETA1, 4.2.0.Final
>
> Attachments: Avoid_a_halfway_started_cache_being_returned.patch, ConcurrentCacheStartupTest.java, ISPN-635.patch, More_sophisticated_fix_with_lock_per_cache_name.patch, Too_restrictive_fix.patch
>
>
> I've seen this happening only once, still it's quite puzzling. Maybe proper visiblity of the variables is not guaranteed?
> java.lang.NullPointerException
> at org.infinispan.util.concurrent.locks.LockManagerImpl.lockAndRecord(LockManagerImpl.java:83)
> at org.infinispan.container.EntryFactoryImpl.acquireLock(EntryFactoryImpl.java:210)
> at org.infinispan.container.EntryFactoryImpl.wrapEntryForWriting(EntryFactoryImpl.java:153)
> at org.infinispan.container.EntryFactoryImpl.wrapEntryForWriting(EntryFactoryImpl.java:106)
> at org.infinispan.interceptors.LockingInterceptor.visitPutKeyValueCommand(LockingInterceptor.java:197)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:57)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
> at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:183)
> at org.infinispan.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:132)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:113)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:57)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:38)
> at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:57)
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:76)
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:273)
> at org.infinispan.CacheDelegate.put(CacheDelegate.java:429)
> at org.infinispan.CacheSupport.put(CacheSupport.java:28)
> at com.atlassian.jira.propertyset.PropertySetCache.setObject(PropertySetCache.java:205)
> at com.atlassian.jira.propertyset.JiraCachingPropertySet.getString(JiraCachingPropertySet.java:647)
> at com.opensymphony.user.User.getFullName(User.java:86)
> at com.atlassian.jira.user.util.UserUtilImpl.getDisplayableNameSafely(UserUtilImpl.java:573)
> at com.atlassian.jira.plugin.profile.ProfileLinkUserFormat.getInitialParams(ProfileLinkUserFormat.java:47)
> at com.atlassian.jira.plugin.profile.ProfileLinkUserFormat.format(ProfileLinkUserFormat.java:32)
> at com.atlassian.jira.plugin.profile.DefaultUserFormatManager.formatUser(DefaultUserFormatManager.java:62)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list