[infinispan-issues] [JBoss JIRA] (ISPN-11088) NPE while using MySQL 5.7.28

Dan Berindei (Jira) issues at jboss.org
Fri Jan 24 08:48:50 EST 2020


    [ https://issues.redhat.com/browse/ISPN-11088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13956240#comment-13956240 ] 

Dan Berindei commented on ISPN-11088:
-------------------------------------

The weird part is that there's nothing on line 778 that could throw a NPE, in basically any version.
The next stack frame is also off-by-1, it's a synthetic method so it should be report line 751, where {{ResultSetEntryIterator}} starts.

[~ashoktronix27] since we don't have a Windows installation of MySql, please enable logging in the driver with [{{&profileSQL=true&traceProtocol=true}}|https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html] in the connection url and post the logs here.

> NPE while using MySQL 5.7.28
> ----------------------------
>
>                 Key: ISPN-11088
>                 URL: https://issues.redhat.com/browse/ISPN-11088
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Loaders and Stores
>    Affects Versions: 9.4.4.Final
>            Reporter: AshokKumar NV
>            Assignee: Ryan Emerson
>            Priority: Major
>
> 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.
> {noformat}
> 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)
> {noformat}
> JDK version - 11.0.4
> MySQL Connector - mysql-connector-java-5.1.48.jar
> MySQL Server - 5.7.28 on Windows platform



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the infinispan-issues mailing list