From 3a4a632d8cb368ddeda1066da9e44f42179230de Mon Sep 17 00:00:00 2001 From: liujianhui Date: Mon, 26 Dec 2016 21:50:37 +0800 Subject: [PATCH] [SPARK-19001] don't submit sendHeartbeat task again if has registered before --- .../main/scala/org/apache/spark/deploy/worker/Worker.scala | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/src/main/scala/org/apache/spark/deploy/worker/Worker.scala b/core/src/main/scala/org/apache/spark/deploy/worker/Worker.scala index f41efb097b4be..6f17ea77ed2d6 100755 --- a/core/src/main/scala/org/apache/spark/deploy/worker/Worker.scala +++ b/core/src/main/scala/org/apache/spark/deploy/worker/Worker.scala @@ -103,6 +103,7 @@ private[deploy] class Worker( private[worker] var activeMasterWebUiUrl : String = "" private val workerUri = rpcEnv.uriOf(systemName, rpcEnv.address, endpointName) private var registered = false + private var hasRegisteredBefore = false private var connected = false private val workerId = generateWorkerId() private val sparkHome = @@ -358,6 +359,10 @@ private[deploy] class Worker( logInfo("Successfully registered with master " + masterRef.address.toSparkURL) registered = true changeMaster(masterRef, masterWebUiUrl) + if (hasRegisteredBefore) { + return + } + hasRegisteredBefore = true forwordMessageScheduler.scheduleAtFixedRate(new Runnable { override def run(): Unit = Utils.tryLogNonFatalError { self.send(SendHeartbeat)