From cd8d5c5d08e5b821abe2d8ecc5927068bb87b989 Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Tue, 1 Sep 2020 12:08:02 +0200 Subject: [PATCH] Fix time in AtLeastOnce.setDeliverySnapshot, #27786 * to be consistent with internalDeliver when recoveryRunning --- .../src/main/scala/akka/persistence/AtLeastOnceDelivery.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/akka-persistence/src/main/scala/akka/persistence/AtLeastOnceDelivery.scala b/akka-persistence/src/main/scala/akka/persistence/AtLeastOnceDelivery.scala index a7ae70c923..02124da59a 100644 --- a/akka-persistence/src/main/scala/akka/persistence/AtLeastOnceDelivery.scala +++ b/akka-persistence/src/main/scala/akka/persistence/AtLeastOnceDelivery.scala @@ -361,7 +361,8 @@ trait AtLeastOnceDeliveryLike extends Eventsourced { */ def setDeliverySnapshot(snapshot: AtLeastOnceDeliverySnapshot): Unit = { deliverySequenceNr = snapshot.currentDeliveryId - val now = System.nanoTime() + // deliver on next tick + val now = System.nanoTime() - redeliverInterval.toNanos unconfirmed = scala.collection.immutable.SortedMap.from(snapshot.unconfirmedDeliveries.iterator.map(d => d.deliveryId -> Delivery(d.destination, d.message, now, 0))) }