Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-21088

[GSS](7.3.z) ISPN-10006 - NPE in Infinispan EvictionManagerImpl when statistics are enabled

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Duplicate
    • 7.3.4.GA
    • None
    • Clustering
    • None
    • False
    • False
    • Undefined

    Description

      After enabling 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 the logs shows 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)
      

       

      The issue is fixed in WFLY-11763 that requires backport to JBoss EAP 7.3.x

      Attachments

        Issue Links

          Activity

            People

              ssur@redhat.com Sudeshna Sur
              rhn-support-sshriram Saurabh Shriramwar (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: