* =clu Accept Welcome message from previous joinSeedNodeProcess #25295
This commit is contained in:
parent
bc6cb3b1da
commit
29f30a4a78
1 changed files with 8 additions and 4 deletions
|
|
@ -414,13 +414,16 @@ private[cluster] class ClusterCoreDaemon(publisher: ActorRef, joinConfigCompatCh
|
|||
joinSeedNodes(newSeedNodes)
|
||||
case msg: SubscriptionMessage ⇒
|
||||
publisher forward msg
|
||||
case Welcome(from, gossip) ⇒
|
||||
welcome(from.address, from, gossip)
|
||||
case _: Tick ⇒
|
||||
if (joinSeedNodesDeadline.exists(_.isOverdue))
|
||||
joinSeedNodesWasUnsuccessful()
|
||||
}: Actor.Receive).orElse(receiveExitingCompleted)
|
||||
|
||||
def tryingToJoin(joinWith: Address, deadline: Option[Deadline]): Actor.Receive = ({
|
||||
case Welcome(from, gossip) ⇒ welcome(joinWith, from, gossip)
|
||||
case Welcome(from, gossip) ⇒
|
||||
welcome(joinWith, from, gossip)
|
||||
case InitJoin ⇒
|
||||
logInfo("Received InitJoin message from [{}], but this node is not a member yet", sender())
|
||||
sender() ! InitJoinNack(selfAddress)
|
||||
|
|
@ -499,10 +502,10 @@ private[cluster] class ClusterCoreDaemon(publisher: ActorRef, joinConfigCompatCh
|
|||
case QuarantinedEvent(address, uid) ⇒ quarantined(UniqueAddress(address, uid))
|
||||
case ClusterUserAction.JoinTo(address) ⇒
|
||||
logInfo("Trying to join [{}] when already part of a cluster, ignoring", address)
|
||||
case JoinSeedNodes(seedNodes) ⇒
|
||||
case JoinSeedNodes(nodes) ⇒
|
||||
logInfo(
|
||||
"Trying to join seed nodes [{}] when already part of a cluster, ignoring",
|
||||
seedNodes.mkString(", "))
|
||||
nodes.mkString(", "))
|
||||
case ExitingConfirmed(address) ⇒ receiveExitingConfirmed(address)
|
||||
}: Actor.Receive).orElse(receiveExitingCompleted)
|
||||
|
||||
|
|
@ -560,6 +563,7 @@ private[cluster] class ClusterCoreDaemon(publisher: ActorRef, joinConfigCompatCh
|
|||
def joinSeedNodes(newSeedNodes: immutable.IndexedSeq[Address]): Unit = {
|
||||
if (newSeedNodes.nonEmpty) {
|
||||
stopSeedNodeProcess()
|
||||
|
||||
seedNodes = newSeedNodes // keep them for retry
|
||||
seedNodeProcess =
|
||||
if (newSeedNodes == immutable.IndexedSeq(selfAddress)) {
|
||||
|
|
@ -692,7 +696,7 @@ private[cluster] class ClusterCoreDaemon(publisher: ActorRef, joinConfigCompatCh
|
|||
}
|
||||
|
||||
/**
|
||||
* Reply from Join request.
|
||||
* Accept reply from Join request.
|
||||
*/
|
||||
def welcome(joinWith: Address, from: UniqueAddress, gossip: Gossip): Unit = {
|
||||
require(latestGossip.members.isEmpty, "Join can only be done from empty state")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue