[infinispan-issues] [JBoss JIRA] (ISPN-6928) NPE in BoundedEquivalentConcurrentHashMapV8$LIRSEvictionPolicy

Gregory Ramsperger (JIRA) issues at jboss.org
Tue Dec 20 19:01:00 EST 2016


    [ https://issues.jboss.org/browse/ISPN-6928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13340991#comment-13340991 ] 

Gregory Ramsperger commented on ISPN-6928:
------------------------------------------

This is likely outdated given this code was completely rewritten in ISPN-4390 for 8.2.5.Final

> NPE in BoundedEquivalentConcurrentHashMapV8$LIRSEvictionPolicy
> --------------------------------------------------------------
>
>                 Key: ISPN-6928
>                 URL: https://issues.jboss.org/browse/ISPN-6928
>             Project: Infinispan
>          Issue Type: Bug
>    Affects Versions: 8.2.2.Final
>            Reporter: Tim Meagher
>
> Receiving a NullPointerException out of infinispan with the following stack (using 8.2.2 final):
> {noformat}
> java.lang.NullPointerException
> 	at org.infinispan.commons.util.concurrent.jdk8backported.BoundedEquivalentConcurrentHashMapV8$LIRSEvictionPolicy.findIfEntriesNeedEvicting(BoundedEquivalentConcurrentHashMapV8.java:1531)
> 	at org.infinispan.commons.util.concurrent.jdk8backported.BoundedEquivalentConcurrentHashMapV8.compute(BoundedEquivalentConcurrentHashMapV8.java:3657)
> 	at org.infinispan.container.DefaultDataContainer.put(DefaultDataContainer.java:227)
> 	at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:168)
> 	at org.infinispan.statetransfer.CommitManager.commit(CommitManager.java:100)
> 	at org.infinispan.interceptors.locking.ClusteringDependentLogic$LocalLogic.commitSingleEntry(ClusteringDependentLogic.java:299)
> 	at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:115)
> 	at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:479)
> 	at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:655)
> 	at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:465)
> 	at org.infinispan.interceptors.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:108)
> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:176)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
> 	at org.infinispan.interceptors.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:37)
> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:176)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
> 	at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.invokeNextAndCommitIf1Pc(AbstractTxLockingInterceptor.java:93)
> 	at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitPrepareCommand(PessimisticLockingInterceptor.java:100)
> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:176)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
> 	at org.infinispan.interceptors.TxInterceptor.invokeNextInterceptorAndVerifyTransaction(TxInterceptor.java:158)
> 	at org.infinispan.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:145)
> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:176)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
> 	at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113)
> 	at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:112)
> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:176)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:114)
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:83)
> 	at org.infinispan.commands.AbstractVisitor.visitPrepareCommand(AbstractVisitor.java:112)
> 	at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:176)
> 	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:335)
> 	at org.infinispan.transaction.impl.TransactionCoordinator.commit(TransactionCoordinator.java:157)
> 	at org.infinispan.transaction.xa.TransactionXaAdapter.commit(TransactionXaAdapter.java:114)
> 	at org.infinispan.transaction.tm.DummyTransaction.finishResource(DummyTransaction.java:401)
> 	at org.infinispan.transaction.tm.DummyTransaction.commitResources(DummyTransaction.java:448)
> 	at org.infinispan.transaction.tm.DummyTransaction.runCommit(DummyTransaction.java:321)
> 	at org.infinispan.transaction.tm.DummyTransaction.commit(DummyTransaction.java:108)
> 	at org.infinispan.transaction.tm.DummyBaseTransactionManager.commit(DummyBaseTransactionManager.java:73)
> 	at org.infinispan.cache.impl.CacheImpl.tryCommit(CacheImpl.java:1722)
> 	at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1679)
> 	at org.infinispan.cache.impl.CacheImpl.putInternal(CacheImpl.java:1121)
> 	at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1111)
> 	at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1742)
> 	at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:248)
> {noformat}
> Looks very similar to this issue: https://issues.jboss.org/browse/ISPN-6366
> However, not sure if it's a duplicate as our configuration is nothing like that mentioned & the line number in the stack is one off.
> Not sure what version the other issue was reported against though (and the line number in the stack on the mentioned issue is a null check in 8.2.2 final).
> Configuration for the cache with this problem is included below:
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?>
> <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xsi:schemaLocation="urn:infinispan:config:8.2 http://www.infinispan.org/schemas/infinispan-config-8.2.xsd
>                         urn:infinispan:config:store:jdbc:8.0
>                         http://www.infinispan.org/schemas/infinispan-cachestore-jdbc-config-8.0.xsd"
> 	xmlns="urn:infinispan:config:8.2">
> 	
> 	<cache-container name="default" default-cache="default" statistics="true">
> 		<serialization>
>       <advanced-externalizer class="com.lavastorm.lae.service.element.compile.storage.infinispan.impl.CompiledStorageNodeExternalizer"/>
>       <advanced-externalizer class="com.lavastorm.lae.service.element.resolution.storage.infinispan.impl.ResolutionCacheEntryExternalizer"/>
>     </serialization>
> 		<jmx duplicate-domains="true"/>
> 		<!-- cache configuration for non repository usages -->
> 		<!-- resolved-element cache -->
> 		<local-cache-configuration name="resolvedElementConfig">
> 			<transaction 
> 					transaction-manager-lookup="org.infinispan.transaction.lookup.DummyTransactionManagerLookup"
> 					locking="PESSIMISTIC" />	
> 					
> 			<!-- max 2k in memory entries -->
> 			<eviction thread-policy="DEFAULT" max-entries="2000" strategy="LIRS" />
> 			<persistence passivation="true">
> 				
> 			<!-- max 10k entries on disk -->
> 			<file-store fetch-state="false" read-only="false" purge="true" path="${ls.home}/data/webapp/cache/infinispan" max-entries="10000"/>
> 			</persistence>
> 		</local-cache-configuration>
> 		
> 		<local-cache name="resolvedElements" configuration="resolvedElementConfig" statistics="true"/>
> 	
> </infinispan>
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list