[
https://jira.jboss.org/browse/ISPN-635?page=com.atlassian.jira.plugin.sys...
]
Sanne Grinovero commented on ISPN-635:
--------------------------------------
tested your latest patch, it's great it appears to solve all problems.
Just one detail, as the initialization is not concurrent anymore, could you avoid using
caches.putIfAbstent in the createCache method, so that the first thing this method should
do is check if the cache was already built and then quickly return without having to clone
configurations and create cache instances which aren't used.
I tried with the attached patch and it was quite quicker in booting, apparently I have
many concurrent requests.
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
Attachments: Avoid_a_halfway_started_cache_being_returned.patch,
ConcurrentCacheStartupTest.java, 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