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

Hibernate-cache NullPointerException in CacheMgmtInterceptor

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 12.0.0.Dev02
    • 11.0.1.Final
    • Hibernate Cache
    • None

    Description

      There is a mismatch between the command.hasAnyFlag(FlagBitSets.SKIP_STATISTICS) check in CacheMgmtInterceptor and the Param.StatisticsMode.isSkip(command.getParams()) check in CallInterceptor, causing the return value to be null when CacheMgmtInterceptor expects a StatisticsEnvelope instance.
       

      17:02:05,601 ERROR (Executor-2:[]) [InvocationContextInterceptor] ISPN000136: Error executing command ReadWriteKeyCommand on Cache 'org.infinispan.test.hibernate.cache.commons.functional.entities.Item', writing keys [7]
      java.lang.NullPointerException: null
       at org.infinispan.interceptors.impl.CacheMgmtInterceptor.lambda$updateStatisticsReadWrite$10(CacheMgmtInterceptor.java:372) ~[classes/:?]
       at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenApply(BaseAsyncInterceptor.java:86) ~[classes/:?]
       at org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStatisticsReadWrite(CacheMgmtInterceptor.java:368) ~[classes/:?]
       at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitReadWriteKeyCommand(CacheMgmtInterceptor.java:396) ~[classes/:?]
       at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:91) ~[classes/:?]
       at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59) ~[classes/:?]
       at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53) ~[classes/:?]
       at org.infinispan.interceptors.DDAsyncInterceptor.visitReadWriteKeyCommand(DDAsyncInterceptor.java:200) ~[classes/:?]
       at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:91) ~[classes/:?]
       at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128) ~[classes/:?]
       at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90) ~[classes/:?]
       at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:61) ~[classes/:?]
       at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53) ~[classes/:?]
       at org.infinispan.interceptors.DDAsyncInterceptor.visitReadWriteKeyCommand(DDAsyncInterceptor.java:200) ~[classes/:?]
       at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:91) ~[classes/:?]
       at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:49) ~[classes/:?]
       at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invokeAsync(AsyncInterceptorChainImpl.java:226) ~[classes/:?]
       at org.infinispan.functional.impl.AbstractFunctionalMap.invokeAsync(AbstractFunctionalMap.java:131) ~[classes/:?]
       at org.infinispan.functional.impl.ReadWriteMapImpl.eval(ReadWriteMapImpl.java:56) ~[classes/:?]
       at org.infinispan.hibernate.cache.commons.access.NonStrictAccessDelegate.putFromLoad(NonStrictAccessDelegate.java:118) ~[classes/:?]
       at org.infinispan.hibernate.cache.v53.impl.ReadOnlyEntityDataAccess.putFromLoad(ReadOnlyEntityDataAccess.java:30) ~[classes/:?]
       at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:254) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:160) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.performTwoPhaseLoad(AbstractRowReader.java:252) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishUp(AbstractRowReader.java:215) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:133) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:107) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:188) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:4289) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:597) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:565) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:226) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:122) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:93) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.internal.SessionImpl.fireLoadNoChecks(SessionImpl.java:1277) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.internal.SessionImpl.immediateLoad(SessionImpl.java:1119) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:178) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:309) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:45) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:95) ~[hibernate-core-5.3.17.Final.jar:5.3.17.Final]
       at org.infinispan.test.hibernate.cache.commons.functional.entities.Item$HibernateProxy$vC8GnuyS.getName(Unknown Source) ~[test-classes/:?]
       at org.infinispan.test.hibernate.cache.commons.functional.AbstractNonInvalidationTest.lambda$removeFlushWait$2(AbstractNonInvalidationTest.java:127) ~[test-classes/:?]
       at org.infinispan.test.hibernate.cache.commons.util.TxUtil.withResourceLocalTx(TxUtil.java:105) ~[test-classes/:?]
       at org.infinispan.test.hibernate.cache.commons.util.TxUtil.lambda$withTxSessionApply$5(TxUtil.java:56) ~[test-classes/:?]
       at org.infinispan.test.hibernate.cache.commons.util.TxUtil.withSessionApply(TxUtil.java:72) ~[test-classes/:?]
       at org.infinispan.test.hibernate.cache.commons.util.TxUtil.withTxSessionApply(TxUtil.java:56) ~[test-classes/:?]
       at org.infinispan.test.hibernate.cache.commons.functional.SingleNodeTest.withTxSessionApply(SingleNodeTest.java:43) ~[test-classes/:?]
       at org.infinispan.test.hibernate.cache.commons.functional.AbstractNonInvalidationTest.lambda$removeFlushWait$3(AbstractNonInvalidationTest.java:124) ~[test-classes/:?]
      

       

       

      Attachments

        Issue Links

          Activity

            People

              dberinde@redhat.com Dan Berindei (Inactive)
              dberinde@redhat.com Dan Berindei (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: