From a45959d3f7c259e36bdb47dc95a89c51a71a15bf Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Tue, 15 Mar 2016 15:35:25 +0100 Subject: [PATCH] =cls #19893 Handle SaveSnapshotSuccess in PersistentShard --- .../src/main/scala/akka/cluster/sharding/Shard.scala | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala index 50ca0af1ee..cb419b0f9b 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala @@ -14,6 +14,8 @@ import akka.persistence.PersistentActor import akka.persistence.SnapshotOffer import akka.actor.Actor import akka.persistence.RecoveryCompleted +import akka.persistence.SaveSnapshotFailure +import akka.persistence.SaveSnapshotSuccess /** * INTERNAL API @@ -349,6 +351,13 @@ private[akka] class PersistentShard( log.debug("Shard recovery completed {}", shardId) } + override def receiveCommand: Receive = ({ + case _: SaveSnapshotSuccess ⇒ + log.debug("PersistentShard snapshot saved successfully") + case SaveSnapshotFailure(_, reason) ⇒ + log.warning("PersistentShard snapshot failure: {}", reason.getMessage) + }: Receive).orElse(super.receiveCommand) + override def entityTerminated(ref: ActorRef): Unit = { val id = idByRef(ref) if (messageBuffers.getOrElse(id, Vector.empty).nonEmpty) {