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

NPE while using MySQL 5.7.28

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • 9.4.4.Final
    • Loaders and Stores
    • None

    Description

      Infinispan is used in embedded mode with MySQL 5.7.28 and JDBC Store

      NPE occurs when we try to call Cache.isEmpty() while using MySQL 5.7.28 (server installed on Windows platform). The call goes to AbstractDelegatingCache and the NPE actually occurs in the JdbcStringBasedStore. The issue does not occur if the same server version is installed on Linux
      The stack trace is as below.

      java.lang.NullPointerException
              at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore$ResultSetEntryIterator.getNext(JdbcStringBasedStore.java:778)
              at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore$ResultSetEntryIterator.getNext(JdbcStringBasedStore.java:752)
              at org.infinispan.commons.util.AbstractIterator.hasNext(AbstractIterator.java:26)
              at io.reactivex.internal.operators.flowable.FlowableFromIterable$IteratorSubscription.slowPath(FlowableFromIterable.java:250)
              at io.reactivex.internal.operators.flowable.FlowableFromIterable$BaseRangeSubscription.request(FlowableFromIterable.java:125)
              at io.reactivex.internal.operators.flowable.FlowableUsing$UsingSubscriber.request(FlowableUsing.java:158)
              at io.reactivex.internal.operators.flowable.FlowableUsing$UsingSubscriber.request(FlowableUsing.java:158)
              at io.reactivex.internal.subscribers.BasicFuseableSubscriber.request(BasicFuseableSubscriber.java:153)
              at io.reactivex.internal.subscriptions.SubscriptionHelper.setOnce(SubscriptionHelper.java:257)
              at io.reactivex.internal.operators.flowable.BlockingFlowableIterable$BlockingFlowableIterator.onSubscribe(BlockingFlowableIterable.java:128)
              at io.reactivex.internal.subscribers.BasicFuseableSubscriber.onSubscribe(BasicFuseableSubscriber.java:67)
              at io.reactivex.internal.operators.flowable.FlowableUsing$UsingSubscriber.onSubscribe(FlowableUsing.java:99)
              at io.reactivex.internal.operators.flowable.FlowableUsing$UsingSubscriber.onSubscribe(FlowableUsing.java:99)
              at io.reactivex.internal.operators.flowable.FlowableFromIterable.subscribe(FlowableFromIterable.java:69)
              at io.reactivex.internal.operators.flowable.FlowableFromIterable.subscribeActual(FlowableFromIterable.java:47)
              at io.reactivex.Flowable.subscribe(Flowable.java:14409)
              at io.reactivex.Flowable.subscribe(Flowable.java:14356)
              at io.reactivex.internal.operators.flowable.FlowableUsing.subscribeActual(FlowableUsing.java:74)
              at io.reactivex.Flowable.subscribe(Flowable.java:14409)
              at io.reactivex.Flowable.subscribe(Flowable.java:14356)
              at io.reactivex.internal.operators.flowable.FlowableUsing.subscribeActual(FlowableUsing.java:74)
              at io.reactivex.Flowable.subscribe(Flowable.java:14409)
              at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:38)
              at io.reactivex.Flowable.subscribe(Flowable.java:14409)
              at io.reactivex.internal.operators.flowable.BlockingFlowableIterable.iterator(BlockingFlowableIterable.java:42)
              at org.infinispan.util.Closeables.iterator(Closeables.java:30)
              at org.infinispan.stream.impl.local.PersistenceEntryStreamSupplier.lambda$null$5(PersistenceEntryStreamSupplier.java:104)
              at org.infinispan.util.LazyConcatIterator.hasNext(LazyConcatIterator.java:43)
              at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1811)
              at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
              at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
              at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
              at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
              at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
              at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
              at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
              at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:528)
              at org.infinispan.stream.impl.local.LocalCacheStream.anyMatch(LocalCacheStream.java:294)
              at org.infinispan.cache.impl.CacheImpl.isEmpty(CacheImpl.java:500)
              at org.infinispan.cache.impl.DecoratedCache.isEmpty(DecoratedCache.java:523)
              at org.infinispan.cache.impl.AbstractDelegatingCache.isEmpty(AbstractDelegatingCache.java:378)
      

      JDK version - 11.0.4
      MySQL Connector - mysql-connector-java-5.1.48.jar
      MySQL Server - 5.7.28 on Windows platform

      Attachments

        Activity

          People

            remerson@redhat.com Ryan Emerson
            ashoktronix27 AshokKumar NV (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: