Connect the dots for cross-dc reachability, #23377
* the crossDcFailureDetector was not connected to the reachability table
* additional test by listen for {Reachable/Unreachable}DataCenter events in split spec
* missing Java API for getUnreachableDataCenters in CurrentClusterState
This commit is contained in:
parent
eefe6474c3
commit
e3aada5016
3 changed files with 91 additions and 27 deletions
|
|
@ -73,8 +73,7 @@ object ClusterEvent {
|
|||
cs.unreachable,
|
||||
cs.seenBy,
|
||||
cs.leader,
|
||||
cs.roleLeaderMap
|
||||
))
|
||||
cs.roleLeaderMap))
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -117,6 +116,12 @@ object ClusterEvent {
|
|||
def getUnreachable: java.util.Set[Member] =
|
||||
scala.collection.JavaConverters.setAsJavaSetConverter(unreachable).asJava
|
||||
|
||||
/**
|
||||
* Java API: All data centers in the cluster
|
||||
*/
|
||||
def getUnreachableDataCenters: java.util.Set[String] =
|
||||
scala.collection.JavaConverters.setAsJavaSetConverter(unreachableDataCenters).asJava
|
||||
|
||||
/**
|
||||
* Java API: get current “seen-by” set.
|
||||
*/
|
||||
|
|
@ -556,8 +561,7 @@ private[cluster] final class ClusterDomainEventPublisher extends Actor with Acto
|
|||
leader = membershipState.leader.map(_.address),
|
||||
roleLeaderMap = membershipState.latestGossip.allRoles.map(r ⇒
|
||||
r → membershipState.roleLeader(r).map(_.address))(collection.breakOut),
|
||||
unreachableDataCenters
|
||||
)
|
||||
unreachableDataCenters)
|
||||
receiver ! state
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue