diff options
author | Patrick Wendell <pwendell@gmail.com> | 2014-04-03 22:13:56 -0700 |
---|---|---|
committer | Patrick Wendell <pwendell@gmail.com> | 2014-04-03 22:13:56 -0700 |
commit | ee6e9e7d863022304ac9ced405b353b63accb6ab (patch) | |
tree | d5fe7d96e8e8613c5b07ed638f3bafe1c1d38942 /core/src/main/scala | |
parent | 33e63618d061eeaae257a7350ea3287a702fc123 (diff) | |
download | spark-ee6e9e7d863022304ac9ced405b353b63accb6ab.tar.gz spark-ee6e9e7d863022304ac9ced405b353b63accb6ab.tar.bz2 spark-ee6e9e7d863022304ac9ced405b353b63accb6ab.zip |
SPARK-1337: Application web UI garbage collects newest stages
Simple fix...
Author: Patrick Wendell <pwendell@gmail.com>
Closes #320 from pwendell/stage-clean-up and squashes the following commits:
29be62e [Patrick Wendell] SPARK-1337: Application web UI garbage collects newest stages instead old ones
Diffstat (limited to 'core/src/main/scala')
-rw-r--r-- | core/src/main/scala/org/apache/spark/ui/jobs/JobProgressListener.scala | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/src/main/scala/org/apache/spark/ui/jobs/JobProgressListener.scala b/core/src/main/scala/org/apache/spark/ui/jobs/JobProgressListener.scala index d10aa12b9e..cd4be57227 100644 --- a/core/src/main/scala/org/apache/spark/ui/jobs/JobProgressListener.scala +++ b/core/src/main/scala/org/apache/spark/ui/jobs/JobProgressListener.scala @@ -81,8 +81,8 @@ private[ui] class JobProgressListener(conf: SparkConf) extends SparkListener { /** If stages is too large, remove and garbage collect old stages */ private def trimIfNecessary(stages: ListBuffer[StageInfo]) = synchronized { if (stages.size > retainedStages) { - val toRemove = retainedStages / 10 - stages.takeRight(toRemove).foreach( s => { + val toRemove = math.max(retainedStages / 10, 1) + stages.take(toRemove).foreach { s => stageIdToTaskData.remove(s.stageId) stageIdToTime.remove(s.stageId) stageIdToShuffleRead.remove(s.stageId) @@ -94,8 +94,8 @@ private[ui] class JobProgressListener(conf: SparkConf) extends SparkListener { stageIdToTasksFailed.remove(s.stageId) stageIdToPool.remove(s.stageId) if (stageIdToDescription.contains(s.stageId)) {stageIdToDescription.remove(s.stageId)} - }) - stages.trimEnd(toRemove) + } + stages.trimStart(toRemove) } } |