diff options
author | Kousuke Saruta <sarutak@oss.nttdata.co.jp> | 2015-01-25 15:34:20 -0800 |
---|---|---|
committer | Andrew Or <andrew@databricks.com> | 2015-01-25 15:36:24 -0800 |
commit | 8f55beeb51e6ea72e63af3f276497f61dd24d09b (patch) | |
tree | fda1d5fa4bba07b474704fe2e896c1b98f732dfd | |
parent | f34c113f850857d5658d71b6798a67ed9278f7ef (diff) | |
download | spark-8f55beeb51e6ea72e63af3f276497f61dd24d09b.tar.gz spark-8f55beeb51e6ea72e63af3f276497f61dd24d09b.tar.bz2 spark-8f55beeb51e6ea72e63af3f276497f61dd24d09b.zip |
[SPARK-5344][WebUI] HistoryServer cannot recognize that inprogress file was renamed to completed file
`FsHistoryProvider` tries to update application status but if `checkForLogs` is called before `.inprogress` file is renamed to completed file, the file is not recognized as completed.
Author: Kousuke Saruta <sarutak@oss.nttdata.co.jp>
Closes #4132 from sarutak/SPARK-5344 and squashes the following commits:
9658008 [Kousuke Saruta] Merge branch 'master' of git://git.apache.org/spark into SPARK-5344
d2c72b6 [Kousuke Saruta] Fixed update issue of FsHistoryProvider
(cherry picked from commit 8f5c827b01026bf45fc774ed7387f11a941abea8)
Signed-off-by: Andrew Or <andrew@databricks.com>
Conflicts:
core/src/test/scala/org/apache/spark/deploy/history/FsHistoryProviderSuite.scala
-rw-r--r-- | core/src/main/scala/org/apache/spark/deploy/history/FsHistoryProvider.scala | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/core/src/main/scala/org/apache/spark/deploy/history/FsHistoryProvider.scala b/core/src/main/scala/org/apache/spark/deploy/history/FsHistoryProvider.scala index 82a54dbfb5..4671ca28e7 100644 --- a/core/src/main/scala/org/apache/spark/deploy/history/FsHistoryProvider.scala +++ b/core/src/main/scala/org/apache/spark/deploy/history/FsHistoryProvider.scala @@ -197,7 +197,9 @@ private[history] class FsHistoryProvider(conf: SparkConf) extends ApplicationHis if (!logInfos.isEmpty) { val newApps = new mutable.LinkedHashMap[String, FsApplicationHistoryInfo]() def addIfAbsent(info: FsApplicationHistoryInfo) = { - if (!newApps.contains(info.id)) { + if (!newApps.contains(info.id) || + newApps(info.id).logPath.endsWith(EventLoggingListener.IN_PROGRESS) && + !info.logPath.endsWith(EventLoggingListener.IN_PROGRESS)) { newApps += (info.id -> info) } } |