Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-10006

NPE in Infinispan EvictionManagerImpl when statistics are enabled on a simple cache

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 10.0.0.Final
    • 9.4.8.Final, 10.0.0.Final
    • Core
    • None

      I enabled statistics through attribute "statistics-enabled" within the infinispan subsystem on all cache-containner's and all local-cache's using standalone-full.xml as the base.
      After some time I see NullPointerExceptions with this stacktrace:

      22.02. 10:46:31,422 WARNING [com.github.benmanes.caffeine.cache.BoundedLocalCache#lambda$notifyRemoval$1] Exception thrown by removal listener: java.lang.NullPointerException
      	at org.infinispan.eviction.impl.EvictionManagerImpl.updateEvictionStatistics(EvictionManagerImpl.java:45)
      	at org.infinispan.eviction.impl.EvictionManagerImpl.onEntryEviction(EvictionManagerImpl.java:39)
      	at org.infinispan.container.impl.AbstractInternalDataContainer$DefaultEvictionListener.onEntryEviction(AbstractInternalDataContainer.java:516)
      	at org.infinispan.container.impl.AbstractInternalDataContainer.lambda$applyListener$5(AbstractInternalDataContainer.java:479)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$notifyRemoval$1(BoundedLocalCache.java:286)
      	at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:20)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.notifyRemoval(BoundedLocalCache.java:292)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.evictEntry(BoundedLocalCache.java:821)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.evictFromMain(BoundedLocalCache.java:638)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.evictEntries(BoundedLocalCache.java:504)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.maintenance(BoundedLocalCache.java:1137)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.performCleanUp(BoundedLocalCache.java:1108)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache$PerformCleanupTask.run(BoundedLocalCache.java:2979)
      	at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:20)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.scheduleDrainBuffers(BoundedLocalCache.java:1080)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.scheduleAfterWrite(BoundedLocalCache.java:1047)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.afterWrite(BoundedLocalCache.java:1017)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.remap(BoundedLocalCache.java:2272)
      	at com.github.benmanes.caffeine.cache.BoundedLocalCache.compute(BoundedLocalCache.java:2146)
      	at com.github.benmanes.caffeine.cache.LocalCache.compute(LocalCache.java:100)
      	at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:229)
      	at org.infinispan.container.impl.AbstractInternalDataContainer.compute(AbstractInternalDataContainer.java:248)
      	at org.infinispan.cache.impl.SimpleCacheImpl.putForExternalReadInternal(SimpleCacheImpl.java:207)
      	at org.infinispan.cache.impl.StatsCollectingCache.putForExternalReadInternal(StatsCollectingCache.java:200)
      	at org.infinispan.cache.impl.SimpleCacheImpl.putForExternalRead(SimpleCacheImpl.java:180)
      	at org.infinispan.cache.impl.AbstractDelegatingCache.putForExternalRead(AbstractDelegatingCache.java:49)
      	at org.infinispan.cache.impl.EncoderCache.putForExternalRead(EncoderCache.java:175)
      	at org.infinispan.cache.impl.AbstractDelegatingCache.putForExternalRead(AbstractDelegatingCache.java:49)
      	at org.infinispan.hibernate.cache.commons.access.InvalidationCacheAccessDelegate.putFromLoad(InvalidationCacheAccessDelegate.java:114)
      	at org.infinispan.hibernate.cache.v53.impl.ReadOnlyEntityDataAccess.putFromLoad(ReadOnlyEntityDataAccess.java:30)
      	at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:226)
      	at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
      	at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.performTwoPhaseLoad(AbstractRowReader.java:238)
      	at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishUp(AbstractRowReader.java:209)
      	at org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:133)
      	at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:122)
      	at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:86)
      	at org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:188)
      	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:4271)
      	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:511)
      	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:481)
      	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:222)
      	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:281)
      	at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:124)
      	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:92)
      	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1257)
      	at org.hibernate.internal.SessionImpl.access$1900(SessionImpl.java:207)
      	at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.doLoad(SessionImpl.java:2874)
      	at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2848)
      	at org.hibernate.internal.SessionImpl.find(SessionImpl.java:3483)
      	at org.hibernate.internal.SessionImpl.find(SessionImpl.java:3447)
      	at org.jboss.as.jpa.container.AbstractEntityManager.find(AbstractEntityManager.java:213)
      	at biz.mbisoftware.fn.ejb.session.core.MbiFeatureFacade.getVariaData(MbiFeatureFacade.java:282)
      

              pferraro@redhat.com Paul Ferraro
              pferraro@redhat.com Paul Ferraro
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: