diff --git a/implementation/src/main/java/io/smallrye/mutiny/operators/multi/MultiConcatMapOp.java b/implementation/src/main/java/io/smallrye/mutiny/operators/multi/MultiConcatMapOp.java index 0161a7757..5371de464 100644 --- a/implementation/src/main/java/io/smallrye/mutiny/operators/multi/MultiConcatMapOp.java +++ b/implementation/src/main/java/io/smallrye/mutiny/operators/multi/MultiConcatMapOp.java @@ -117,7 +117,9 @@ public void onItem(I item) { private void innerOnItem(O item) { if (state != State.DONE) { - DEMAND_UPDATER.decrementAndGet(this); + if (demand < Long.MAX_VALUE) { + DEMAND_UPDATER.decrementAndGet(this); + } downstream.onItem(item); } }