From e782187b4af3b2ffe83e67fee7c783b5dfcd09e5 Mon Sep 17 00:00:00 2001
From: root <root@domU-12-31-39-05-3D-B1.compute-1.internal>
Date: Fri, 26 Oct 2012 07:31:08 +0000
Subject: [PATCH] Don't throw an error in the block manager when a block is
 cached on the master due to a locally computed operation

Conflicts:

	core/src/main/scala/spark/storage/BlockManagerMaster.scala
---
 core/src/main/scala/spark/storage/BlockManagerMaster.scala | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/core/src/main/scala/spark/storage/BlockManagerMaster.scala b/core/src/main/scala/spark/storage/BlockManagerMaster.scala
index b3345623b3..ace27e758c 100644
--- a/core/src/main/scala/spark/storage/BlockManagerMaster.scala
+++ b/core/src/main/scala/spark/storage/BlockManagerMaster.scala
@@ -243,6 +243,12 @@ private[spark] class BlockManagerMasterActor(val isLocal: Boolean) extends Actor
     val startTimeMs = System.currentTimeMillis()
     val tmp = " " + blockManagerId + " " + blockId + " "
 
+    if (!blockManagerInfo.contains(blockManagerId)) {
+      // Can happen if this is from a locally cached partition on the master
+      sender ! true
+      return
+    }
+
     if (blockId == null) {
       blockManagerInfo(blockManagerId).updateLastSeenMs()
       logDebug("Got in heartBeat 1" + tmp + " used " + Utils.getUsedTimeMs(startTimeMs))
-- 
GitLab