diff --git a/akka-contrib/src/main/scala/akka/contrib/pattern/ClusterSharding.scala b/akka-contrib/src/main/scala/akka/contrib/pattern/ClusterSharding.scala index 5cc5b9bf54..fdaa3aa900 100644 --- a/akka-contrib/src/main/scala/akka/contrib/pattern/ClusterSharding.scala +++ b/akka-contrib/src/main/scala/akka/contrib/pattern/ClusterSharding.scala @@ -1029,6 +1029,11 @@ private[akka] class Shard( var handOffStopper: Option[ActorRef] = None + override def postStop(): Unit = { + super.postStop() + snapshotTask.cancel() + } + def totalBufferSize = messageBuffers.foldLeft(0) { (sum, entry) ⇒ sum + entry._2.size } def processChange[A](event: A)(handler: A ⇒ Unit): Unit = @@ -1586,6 +1591,7 @@ class ShardCoordinator(handOffTimeout: FiniteDuration, shardStartTimeout: Finite override def postStop(): Unit = { super.postStop() rebalanceTask.cancel() + snapshotTask.cancel() } override def receiveRecover: Receive = {