From 94bebb330a206be6f714aee69dc3184c5b591101 Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Tue, 25 Feb 2020 17:06:44 -0500 Subject: [PATCH] Introduce the onReceiveTimeout hook for SeedNodeProcess (#28646) --- .../src/main/scala/akka/cluster/SeedNodeProcess.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/akka-cluster/src/main/scala/akka/cluster/SeedNodeProcess.scala b/akka-cluster/src/main/scala/akka/cluster/SeedNodeProcess.scala index cec675618e..eea6a41d70 100644 --- a/akka-cluster/src/main/scala/akka/cluster/SeedNodeProcess.scala +++ b/akka-cluster/src/main/scala/akka/cluster/SeedNodeProcess.scala @@ -8,7 +8,8 @@ import scala.collection.immutable import scala.concurrent.duration.{ Deadline, _ } import akka.actor.{ Actor, ActorRef, Address, CoordinatedShutdown, ReceiveTimeout } -import akka.annotation.InternalApi +import akka.annotation.{ InternalApi, InternalStableApi } +import akka.util.unused /** * INTERNAL API. @@ -289,8 +290,12 @@ private[cluster] final class JoinSeedNodeProcess( seedNodes.filterNot(_ == selfAddress).mkString(", ")) // no InitJoinAck received, try again self ! JoinSeedNode + onReceiveTimeout(seedNodes, attempt) } + @InternalStableApi + private[akka] def onReceiveTimeout(@unused seedNodes: immutable.IndexedSeq[Address], @unused attempt: Int): Unit = {} + def done: Actor.Receive = { case InitJoinAck(_, _) => // already received one, skip rest case ReceiveTimeout => context.stop(self)