abstract class DowningProvider extends AnyRef
API for plugins that will handle downing of cluster nodes. Concrete plugins must subclass and have a public one argument constructor accepting an akka.actor.ActorSystem.
A custom DowningProvider
can be configured with akka.cluster.downing-provider-class
When implementing a downing provider you should make sure that it will not split the cluster into several separate clusters in case of network problems or system overload (long GC pauses). This is much more difficult than it might be perceived at first, so carefully read the concerns and scenarios described in https://doc.akka.io/docs/akka/current/typed/cluster.html#downing and https://doc.akka.io/docs/akka-enhancements/current/split-brain-resolver.html
- Source
- DowningProvider.scala
- Alphabetic
- By Inheritance
- DowningProvider
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new DowningProvider()
Abstract Value Members
-
abstract
def
downRemovalMargin: FiniteDuration
Time margin after which shards or singletons that belonged to a downed/removed partition are created in surviving partition.
Time margin after which shards or singletons that belonged to a downed/removed partition are created in surviving partition. The purpose of this margin is that in case of a network partition the persistent actors in the non-surviving partitions must be stopped before corresponding persistent actors are started somewhere else. This is useful if you implement downing strategies that handle network partitions, e.g. by keeping the larger side of the partition and shutting down the smaller side.
-
abstract
def
downingActorProps: Option[Props]
If a props is returned it is created as a child of the core cluster daemon on cluster startup.
If a props is returned it is created as a child of the core cluster daemon on cluster startup. It should then handle downing using the regular akka.cluster.Cluster APIs. The actor will run on the same dispatcher as the cluster actor if dispatcher not configured.
May throw an exception which will then immediately lead to Cluster stopping, as the downing provider is vital to a working cluster.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from DowningProvider to any2stringadd[DowningProvider] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (DowningProvider, B)
- Implicit
- This member is added by an implicit conversion from DowningProvider to ArrowAssoc[DowningProvider] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
ensuring(cond: (DowningProvider) ⇒ Boolean, msg: ⇒ Any): DowningProvider
- Implicit
- This member is added by an implicit conversion from DowningProvider to Ensuring[DowningProvider] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (DowningProvider) ⇒ Boolean): DowningProvider
- Implicit
- This member is added by an implicit conversion from DowningProvider to Ensuring[DowningProvider] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): DowningProvider
- Implicit
- This member is added by an implicit conversion from DowningProvider to Ensuring[DowningProvider] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): DowningProvider
- Implicit
- This member is added by an implicit conversion from DowningProvider to Ensuring[DowningProvider] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DowningProvider to StringFormat[DowningProvider] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (DowningProvider, B)
- Implicit
- This member is added by an implicit conversion from DowningProvider to ArrowAssoc[DowningProvider] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc