-
Bug
-
Resolution: Done
-
Major
-
13.0.0.Final, 14.0.0.Final
-
None
If you do a bulk write operation with the jdbc store when you have entries in that batch that map to more than 128 segments you get the following error:
io.reactivex.rxjava3.exceptions.MissingBackpressureException: Unable to emit a new group (#128) due to lack of requests. Please make sure the downstream can always accept a new group as well as each group is consumed in order for the whole operator to be able to proceed. at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.onNext(FlowableGroupBy.java:197) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:92) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableMap$MapSubscriber.onNext(FlowableMap.java:69) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableFilter$FilterSubscriber.tryOnNext(FlowableFilter.java:75) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableFilter$FilterSubscriber.onNext(FlowableFilter.java:53) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowablePublish$PublishConnection.drain(FlowablePublish.java:312) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowablePublish$PublishConnection.onNext(FlowablePublish.java:234) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.mixed.FlowableConcatMapMaybe$ConcatMapMaybeSubscriber.drain(FlowableConcatMapMaybe.java:238) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.mixed.FlowableConcatMapMaybe$ConcatMapMaybeSubscriber.request(FlowableConcatMapMaybe.java:108) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowablePublish$PublishConnection.onSubscribe(FlowablePublish.java:221) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.mixed.FlowableConcatMapMaybe$ConcatMapMaybeSubscriber.onSubscribeDownstream(FlowableConcatMapMaybe.java:102) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.mixed.ConcatMapXMainSubscriber.onSubscribe(ConcatMapXMainSubscriber.java:75) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableFromIterable.subscribe(FlowableFromIterable.java:69) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableFromIterable.subscribeActual(FlowableFromIterable.java:47) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.mixed.FlowableConcatMapMaybe.subscribeActual(FlowableConcatMapMaybe.java:59) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15863) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowablePublish.connect(FlowablePublish.java:93) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableAutoConnect.subscribeActual(FlowableAutoConnect.java:50) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableFilter.subscribeActual(FlowableFilter.java:38) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:38) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach.subscribeActual(FlowableDoOnEach.java:50) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableGroupBy.subscribeActual(FlowableGroupBy.java:73) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:38) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableFlatMap.subscribeActual(FlowableFlatMap.java:51) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15917) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15863) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.internal.operators.flowable.FlowableLastMaybe.subscribeActual(FlowableLastMaybe.java:39) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5375) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Maybe.blockingSubscribe(Maybe.java:2989) at io.reactivex.rxjava3.rxjava//io.reactivex.rxjava3.core.Maybe.blockingSubscribe(Maybe.java:2960) at org.infinispan.persistence.jdbc@13.0.10.Final//org.infinispan.persistence.jdbc.common.sql.BaseTableOperations.batchUpdates(BaseTableOperations.java:202) at org.infinispan.persistence.jdbc@13.0.10.Final//org.infinispan.persistence.jdbc.common.impl.BaseJdbcStore.lambda$batch$7(BaseJdbcStore.java:194) at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377) at org.jboss.as.clustering.common@26.1.2.Final//org.jboss.as.clustering.context.ContextReferenceExecutor.execute(ContextReferenceExecutor.java:49) at org.jboss.as.clustering.common@26.1.2.Final//org.jboss.as.clustering.context.ContextualExecutor$1.run(ContextualExecutor.java:70) at java.base/java.lang.Thread.run(Thread.java:833)
We should make sure that we test all stores that they don't have this issue as well.