diff --git a/akka-cluster/src/main/scala/akka/cluster/Cluster.scala b/akka-cluster/src/main/scala/akka/cluster/Cluster.scala index bcf901ab6a..16ea5d6602 100644 --- a/akka-cluster/src/main/scala/akka/cluster/Cluster.scala +++ b/akka-cluster/src/main/scala/akka/cluster/Cluster.scala @@ -69,9 +69,11 @@ class Cluster(val system: ExtendedActorSystem) extends Extension { import InfoLogger._ /** - * INTERNAL API + * The address including a `uid` of this cluster member. + * The `uid` is needed to be able to distinguish different + * incarnations of a member with same hostname and port. */ - private[cluster] val selfUniqueAddress: UniqueAddress = system.provider match { + val selfUniqueAddress: UniqueAddress = system.provider match { case c: ClusterActorRefProvider ⇒ UniqueAddress(c.transport.defaultAddress, AddressUidExtension(system).addressUid) case other ⇒ throw new ConfigurationException( diff --git a/akka-cluster/src/main/scala/akka/cluster/Member.scala b/akka-cluster/src/main/scala/akka/cluster/Member.scala index 5bc0d0cae3..12af424727 100644 --- a/akka-cluster/src/main/scala/akka/cluster/Member.scala +++ b/akka-cluster/src/main/scala/akka/cluster/Member.scala @@ -19,8 +19,7 @@ import MemberStatus._ */ @SerialVersionUID(1L) class Member private[cluster] ( - /** INTERNAL API **/ - private[cluster] val uniqueAddress: UniqueAddress, + val uniqueAddress: UniqueAddress, /** INTERNAL API **/ private[cluster] val upNumber: Int, val status: MemberStatus, @@ -216,10 +215,12 @@ object MemberStatus { } /** - * INTERNAL API + * Member identifier consisting of address and random `uid`. + * The `uid` is needed to be able to distinguish different + * incarnations of a member with same hostname and port. */ @SerialVersionUID(1L) -private[cluster] final case class UniqueAddress(address: Address, uid: Int) extends Ordered[UniqueAddress] { +final case class UniqueAddress(address: Address, uid: Int) extends Ordered[UniqueAddress] { override def hashCode = uid def compare(that: UniqueAddress): Int = {