Repository: spark
Updated Branches:
  refs/heads/master 18f29b96c -> 21e0f77b6


[SPARK-2307] SparkUI - storage tab displays incorrect RDDs

The issue here is that the `StorageTab` listens for updates from the 
`StorageStatusListener`, but when a block is kicked out of the cache, 
`StorageStatusListener` removes it from its list. Thus, there is no way for the 
`StorageTab` to know whether a block has been dropped.

This issue was introduced in #1080, which was itself a bug fix. Here we revert 
that PR and offer a different fix for the original bug (SPARK-2144).

Author: Andrew Or <[email protected]>

Closes #1249 from andrewor14/storage-ui-fix and squashes the following commits:

af019ce [Andrew Or] Fix SPARK-2307


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/21e0f77b
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/21e0f77b
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/21e0f77b

Branch: refs/heads/master
Commit: 21e0f77b6321590ed86223a60cdb8ae08ea4057f
Parents: 18f29b9
Author: Andrew Or <[email protected]>
Authored: Fri Jun 27 15:23:25 2014 -0700
Committer: Patrick Wendell <[email protected]>
Committed: Fri Jun 27 15:23:25 2014 -0700

----------------------------------------------------------------------
 .../scala/org/apache/spark/storage/StorageStatusListener.scala | 6 +-----
 .../main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala    | 5 ++++-
 2 files changed, 5 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/21e0f77b/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala
----------------------------------------------------------------------
diff --git 
a/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala 
b/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala
index c694fc8..a6e6627 100644
--- a/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala
+++ b/core/src/main/scala/org/apache/spark/storage/StorageStatusListener.scala
@@ -37,11 +37,7 @@ class StorageStatusListener extends SparkListener {
     val filteredStatus = storageStatusList.find(_.blockManagerId.executorId == 
execId)
     filteredStatus.foreach { storageStatus =>
       updatedBlocks.foreach { case (blockId, updatedStatus) =>
-        if (updatedStatus.storageLevel == StorageLevel.NONE) {
-          storageStatus.blocks.remove(blockId)
-        } else {
-          storageStatus.blocks(blockId) = updatedStatus
-        }
+        storageStatus.blocks(blockId) = updatedStatus
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/spark/blob/21e0f77b/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala 
b/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala
index 2d8c3b9..6cfc46c 100644
--- a/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala
+++ b/core/src/main/scala/org/apache/spark/ui/exec/ExecutorsPage.scala
@@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletRequest
 
 import scala.xml.Node
 
+import org.apache.spark.storage.StorageLevel
 import org.apache.spark.ui.{WebUIPage, UIUtils}
 import org.apache.spark.util.Utils
 
@@ -107,7 +108,9 @@ private[ui] class ExecutorsPage(parent: ExecutorsTab) 
extends WebUIPage("") {
     val status = listener.storageStatusList(statusId)
     val execId = status.blockManagerId.executorId
     val hostPort = status.blockManagerId.hostPort
-    val rddBlocks = status.blocks.size
+    val rddBlocks = status.blocks.count { case (_, blockStatus) =>
+      blockStatus.storageLevel != StorageLevel.NONE
+    }
     val memUsed = status.memUsed
     val maxMem = status.maxMem
     val diskUsed = status.diskUsed

Reply via email to