[
https://issues.redhat.com/browse/ISPN-11088?page=com.atlassian.jira.plugi...
]
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)