Package akka.cluster

Class Gossip$

  • All Implemented Interfaces:
    java.io.Serializable

    public class Gossip$
    extends java.lang.Object
    implements java.io.Serializable
    INTERNAL API
    See Also:
    Serialized Form
    • Field Detail

      • MODULE$

        public static final Gossip$ MODULE$
        Static reference to the singleton instance of this Scala object.
    • Constructor Detail

      • Gossip$

        public Gossip$()
    • Method Detail

      • $lessinit$greater$default$2

        public GossipOverview $lessinit$greater$default$2()
        INTERNAL API

        Represents the state of the cluster; cluster ring membership, ring convergence - all versioned by a vector clock.

        When a node is joining the Member, with status Joining, is added to members. If the joining node was downed it is moved from overview.unreachable (status Down) to members (status Joining). It cannot rejoin if not first downed.

        When convergence is reached the leader change status of members from Joining to Up.

        When failure detector consider a node as unavailable it will be moved from members to overview.unreachable.

        When a node is downed, either manually or automatically, its status is changed to Down. It is also removed from overview.seen table. The node will reside as Down in the overview.unreachable set until joining again and it will then go through the normal joining procedure.

        When a Gossip is received the version (vector clock) is used to determine if the received Gossip is newer or older than the current local Gossip. The received Gossip and local Gossip is merged in case of conflicting version, i.e. vector clocks without same history.

        When a node is told by the user to leave the cluster the leader will move it to Leaving and then rebalance and repartition the cluster and start hand-off by migrating the actors from the leaving node to the new partitions. Once this process is complete the leader will move the node to the Exiting state and once a convergence is complete move the node to Removed by removing it from the members set and sending a Removed command to the removed node telling it to shut itself down.

        Returns:
        (undocumented)
      • $lessinit$greater$default$3

        public VectorClock $lessinit$greater$default$3()
      • $lessinit$greater$default$4

        public scala.collection.immutable.Map<UniqueAddress,​java.lang.Object> $lessinit$greater$default$4()
      • emptyMembers

        public scala.collection.immutable.SortedSet<Member> emptyMembers()
      • empty

        public Gossip empty()
      • apply

        public Gossip apply​(scala.collection.immutable.SortedSet<Member> members)
      • apply$default$2

        public GossipOverview apply$default$2()
        INTERNAL API

        Represents the state of the cluster; cluster ring membership, ring convergence - all versioned by a vector clock.

        When a node is joining the Member, with status Joining, is added to members. If the joining node was downed it is moved from overview.unreachable (status Down) to members (status Joining). It cannot rejoin if not first downed.

        When convergence is reached the leader change status of members from Joining to Up.

        When failure detector consider a node as unavailable it will be moved from members to overview.unreachable.

        When a node is downed, either manually or automatically, its status is changed to Down. It is also removed from overview.seen table. The node will reside as Down in the overview.unreachable set until joining again and it will then go through the normal joining procedure.

        When a Gossip is received the version (vector clock) is used to determine if the received Gossip is newer or older than the current local Gossip. The received Gossip and local Gossip is merged in case of conflicting version, i.e. vector clocks without same history.

        When a node is told by the user to leave the cluster the leader will move it to Leaving and then rebalance and repartition the cluster and start hand-off by migrating the actors from the leaving node to the new partitions. Once this process is complete the leader will move the node to the Exiting state and once a convergence is complete move the node to Removed by removing it from the members set and sending a Removed command to the removed node telling it to shut itself down.

        Returns:
        (undocumented)
      • apply$default$3

        public VectorClock apply$default$3()
      • apply$default$4

        public scala.collection.immutable.Map<UniqueAddress,​java.lang.Object> apply$default$4()
      • vclockName

        public java.lang.String vclockName​(UniqueAddress node)
      • apply

        public Gossip apply​(scala.collection.immutable.SortedSet<Member> members,
                            GossipOverview overview,
                            VectorClock version,
                            scala.collection.immutable.Map<UniqueAddress,​java.lang.Object> tombstones)
        INTERNAL API

        Represents the state of the cluster; cluster ring membership, ring convergence - all versioned by a vector clock.

        When a node is joining the Member, with status Joining, is added to members. If the joining node was downed it is moved from overview.unreachable (status Down) to members (status Joining). It cannot rejoin if not first downed.

        When convergence is reached the leader change status of members from Joining to Up.

        When failure detector consider a node as unavailable it will be moved from members to overview.unreachable.

        When a node is downed, either manually or automatically, its status is changed to Down. It is also removed from overview.seen table. The node will reside as Down in the overview.unreachable set until joining again and it will then go through the normal joining procedure.

        When a Gossip is received the version (vector clock) is used to determine if the received Gossip is newer or older than the current local Gossip. The received Gossip and local Gossip is merged in case of conflicting version, i.e. vector clocks without same history.

        When a node is told by the user to leave the cluster the leader will move it to Leaving and then rebalance and repartition the cluster and start hand-off by migrating the actors from the leaving node to the new partitions. Once this process is complete the leader will move the node to the Exiting state and once a convergence is complete move the node to Removed by removing it from the members set and sending a Removed command to the removed node telling it to shut itself down.

        Parameters:
        members - (undocumented)
        overview - (undocumented)
        version - (undocumented)
        tombstones - (undocumented)
        Returns:
        (undocumented)