1 Reply Latest reply on Oct 16, 2015 7:20 AM by Horia Chiorean

    Infinispan Nullpointer in Modeshape 4.4.0 and Infinispan 7.2.3

    Guillem Folch Newbie

      Hi,

       

      We are using Modeshape 4.4.0.Final release with Infinispan 7.2.3 installed in TomEE and using Java 7.

      The repository starts and works. However, if we add some concurrency (100 threads) adding and removing nodes we found, from time to time, a Nullpointer with the following stacktrace:

       

      org.infinispan.interceptors.InvocationContextInterceptor handleAll

      ERROR: ISPN000136: Execution error java.lang.NullPointerException

        at org.infinispan.commons.util.concurrent.jdk8backported.BoundedEquivalentConcurrentHashMapV8$LIRSEvictionPolicy.findIfEntriesNeedEvicting(BoundedEquivalentConcurrentHashMapV8.java:1397)

        at org.infinispan.commons.util.concurrent.jdk8backported.BoundedEquivalentConcurrentHashMapV8.compute(BoundedEquivalentConcurrentHashMapV8.java:3487)

        at org.infinispan.container.DefaultDataContainer$BoundedEquivalentConcurrentExtendedMap.putAndActivate(DefaultDataContainer.java:556)

        at org.infinispan.container.DefaultDataContainer.put(DefaultDataContainer.java:192)

        at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:168)

        at org.infinispan.statetransfer.CommitManager.commit(CommitManager.java:98)

        at org.infinispan.interceptors.locking.ClusteringDependentLogic$LocalLogic.commitSingleEntry(ClusteringDependentLogic.java:255)

        at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:108)

        at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:371)

        at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:549)

        at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:348)

        at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:422)

        at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:453)

        at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:195)

        at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)

        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)

        at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:88)

        at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:40)

        at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:55)

        at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)

        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)

        at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:111)

        at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:44)

        at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)

        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)

        at org.infinispan.interceptors.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:191)

        at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:177)

        at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)

        at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:97)

        at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102)

        at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71)

        at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:44)

        at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:71)

        at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336)

        at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1617)

        at org.infinispan.cache.impl.CacheImpl.putIfAbsentInternal(CacheImpl.java:1122)

        at org.infinispan.cache.impl.CacheImpl.putIfAbsent(CacheImpl.java:1112)

        at org.infinispan.cache.impl.CacheImpl.putIfAbsent(CacheImpl.java:1717)

        at org.infinispan.cache.impl.CacheImpl.putIfAbsent(CacheImpl.java:283)

        at org.modeshape.jcr.cache.document.WorkspaceCache.getNode(WorkspaceCache.java:244)

        at org.modeshape.jcr.cache.document.NodeCacheIterator.nextNode(NodeCacheIterator.java:103)

        at org.modeshape.jcr.cache.document.NodeCacheIterator.hasNext(NodeCacheIterator.java:70)

        at org.modeshape.jcr.query.NodeSequence$16.hasNext(NodeSequence.java:1450)

        at org.modeshape.jcr.query.NodeSequence$23.findNext(NodeSequence.java:1863)

        at org.modeshape.jcr.query.NodeSequence$23.hasNext(NodeSequence.java:1849)

        at org.modeshape.jcr.query.NodeSequence$23.findNext(NodeSequence.java:1863)

        at org.modeshape.jcr.query.NodeSequence$23.hasNext(NodeSequence.java:1849)

        at org.modeshape.jcr.query.NodeSequence$23.findNext(NodeSequence.java:1863)

        at org.modeshape.jcr.query.NodeSequence$23.hasNext(NodeSequence.java:1849)

        at org.modeshape.jcr.query.NodeSequence$SingleWidthBatch.<init>(NodeSequence.java:1920)

        at org.modeshape.jcr.query.NodeSequence.copy(NodeSequence.java:1907)

        at org.modeshape.jcr.query.engine.process.RestartableSequence.loadBatch(RestartableSequence.java:213)

        at org.modeshape.jcr.query.engine.process.RestartableSequence$1.nextBatch(RestartableSequence.java:92)

        at org.modeshape.jcr.query.engine.process.RestartableSequence.nextBatch(RestartableSequence.java:119)

        at org.modeshape.jcr.query.JcrQueryResult$QueryResultIterator.findNextBatch(JcrQueryResult.java:257)

        at org.modeshape.jcr.query.JcrQueryResult$QueryResultIterator.hasNext(JcrQueryResult.java:241)

        at com.hp.exstream.hes.repository.impl.ApplicationRepository.searchApplications(ApplicationRepository.java:99)
        ...

       

      Attached you can find infinispan_config.xml and modeshape_config.json.

       

      We've tried to disable Eviction (NONE) and also change it to LRU with same results.

      Do you know what is happening? Are we doing something wrong? With Modeshape 3.8.0 the same code is working with the same load.

       

      Thanks