From 775a2ca40c1eba2863de7ae16e4243e3f8d5d057 Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Tue, 18 Aug 2015 16:32:18 +0200 Subject: [PATCH] =cls #17699 Add some DeadLetterSuppression --- .../akka/cluster/metrics/ClusterMetricsCollector.scala | 2 ++ .../scala/akka/cluster/sharding/ShardCoordinator.scala | 7 +++++++ .../akka/cluster/pubsub/DistributedPubSubMediator.scala | 3 +++ .../akka/cluster/singleton/ClusterSingletonManager.scala | 5 +++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/akka-cluster-metrics/src/main/scala/akka/cluster/metrics/ClusterMetricsCollector.scala b/akka-cluster-metrics/src/main/scala/akka/cluster/metrics/ClusterMetricsCollector.scala index 7e041c3255..f8eaa97f82 100644 --- a/akka-cluster-metrics/src/main/scala/akka/cluster/metrics/ClusterMetricsCollector.scala +++ b/akka-cluster-metrics/src/main/scala/akka/cluster/metrics/ClusterMetricsCollector.scala @@ -15,6 +15,7 @@ import scala.collection.immutable import akka.cluster.MemberStatus import scala.concurrent.forkjoin.ThreadLocalRandom import akka.actor.Terminated +import akka.actor.DeadLetterSuppression /** * Runtime collection management commands. @@ -109,6 +110,7 @@ private[metrics] trait ClusterMetricsMessage extends Serializable */ @SerialVersionUID(1L) private[metrics] final case class MetricsGossipEnvelope(from: Address, gossip: MetricsGossip, reply: Boolean) extends ClusterMetricsMessage + with DeadLetterSuppression /** * INTERNAL API. diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala index 427eb638ba..1d9b02312f 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala @@ -26,6 +26,7 @@ import akka.persistence.SaveSnapshotFailure import akka.persistence.SaveSnapshotSuccess import akka.persistence.SnapshotOffer import akka.pattern.pipe +import akka.actor.DeadLetterSuppression /** * @see [[ClusterSharding$ ClusterSharding extension]] @@ -168,10 +169,14 @@ object ShardCoordinator { * `ShardRegion` registers to `ShardCoordinator`, until it receives [[RegisterAck]]. */ @SerialVersionUID(1L) final case class Register(shardRegion: ActorRef) extends CoordinatorCommand + with DeadLetterSuppression + /** * `ShardRegion` in proxy only mode registers to `ShardCoordinator`, until it receives [[RegisterAck]]. */ @SerialVersionUID(1L) final case class RegisterProxy(shardRegionProxy: ActorRef) extends CoordinatorCommand + with DeadLetterSuppression + /** * Acknowledgement from `ShardCoordinator` that [[Register]] or [[RegisterProxy]] was successful. */ @@ -181,6 +186,8 @@ object ShardCoordinator { * to the `ShardCoordinator`. */ @SerialVersionUID(1L) final case class GetShardHome(shard: ShardId) extends CoordinatorCommand + with DeadLetterSuppression + /** * `ShardCoordinator` replies with this message for [[GetShardHome]] requests. */ diff --git a/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/DistributedPubSubMediator.scala b/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/DistributedPubSubMediator.scala index b71bd85ab6..1448a13aa8 100644 --- a/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/DistributedPubSubMediator.scala +++ b/akka-cluster-tools/src/main/scala/akka/cluster/pubsub/DistributedPubSubMediator.scala @@ -41,6 +41,7 @@ import com.typesafe.config.Config import akka.actor.NoSerializationVerificationNeeded import akka.actor.Deploy import akka.dispatch.Dispatchers +import akka.actor.DeadLetterSuppression object DistributedPubSubSettings { /** @@ -234,8 +235,10 @@ object DistributedPubSubMediator { @SerialVersionUID(1L) final case class Status(versions: Map[Address, Long]) extends DistributedPubSubMessage + with DeadLetterSuppression @SerialVersionUID(1L) final case class Delta(buckets: immutable.Iterable[Bucket]) extends DistributedPubSubMessage + with DeadLetterSuppression case object GossipTick diff --git a/akka-cluster-tools/src/main/scala/akka/cluster/singleton/ClusterSingletonManager.scala b/akka-cluster-tools/src/main/scala/akka/cluster/singleton/ClusterSingletonManager.scala index 8d4cd3c8d7..a5de20b42f 100644 --- a/akka-cluster-tools/src/main/scala/akka/cluster/singleton/ClusterSingletonManager.scala +++ b/akka-cluster-tools/src/main/scala/akka/cluster/singleton/ClusterSingletonManager.scala @@ -15,6 +15,7 @@ import akka.actor.ActorSystem import akka.actor.ActorRef import akka.actor.ActorSelection import akka.actor.Address +import akka.actor.DeadLetterSuppression import akka.actor.FSM import akka.actor.Props import akka.actor.Terminated @@ -147,7 +148,7 @@ object ClusterSingletonManager { * hand-over process. `HandOverInProgress` and `HandOverDone` * are expected replies. */ - case object HandOverToMe extends ClusterSingletonMessage + case object HandOverToMe extends ClusterSingletonMessage with DeadLetterSuppression /** * Confirmation by the previous oldest that the hand * over process, shut down of the singleton actor, has @@ -167,7 +168,7 @@ object ClusterSingletonManager { * oldest immediately, without knowing who was previous * oldest. */ - case object TakeOverFromMe extends ClusterSingletonMessage + case object TakeOverFromMe extends ClusterSingletonMessage with DeadLetterSuppression final case class HandOverRetry(count: Int) final case class TakeOverRetry(count: Int)