diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/Graph.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/Graph.scala index aa478f4551..34a974c4ff 100644 --- a/akka-stream/src/main/scala/akka/stream/scaladsl/Graph.scala +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/Graph.scala @@ -71,10 +71,10 @@ final class Merge[T] private (val inputPorts: Int, val eagerComplete: Boolean) e setHandler(i, new InHandler { override def onPush(): Unit = { if (isAvailable(out)) { - if (!pending) { - push(out, grab(i)) - tryPull(i) - } + // isAvailable(out) implies !pending + // -> grab and push immediately + push(out, grab(i)) + tryPull(i) } else pendingQueue.enqueue(i) }