Repository: spark Updated Branches: refs/heads/branch-1.6 5a0052839 -> 773366818
[SPARK-12701][CORE] FileAppender should use join to ensure writing thread completion Changed Logging FileAppender to use join in `awaitTermination` to ensure that thread is properly finished before returning. Author: Bryan Cutler <cutl...@gmail.com> Closes #10654 from BryanCutler/fileAppender-join-thread-SPARK-12701. (cherry picked from commit ea104b8f1ce8aa109d1b16b696a61a47df6283b2) Signed-off-by: Sean Owen <so...@cloudera.com> Project: http://git-wip-us.apache.org/repos/asf/spark/repo Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/77336681 Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/77336681 Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/77336681 Branch: refs/heads/branch-1.6 Commit: 773366818bbdd479fcb59b6fb7fccf28da13a303 Parents: 5a00528 Author: Bryan Cutler <cutl...@gmail.com> Authored: Fri Jan 8 11:08:45 2016 -0800 Committer: Sean Owen <so...@cloudera.com> Committed: Fri Jan 15 20:11:31 2016 +0000 ---------------------------------------------------------------------- .../org/apache/spark/util/logging/FileAppender.scala | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/spark/blob/77336681/core/src/main/scala/org/apache/spark/util/logging/FileAppender.scala ---------------------------------------------------------------------- diff --git a/core/src/main/scala/org/apache/spark/util/logging/FileAppender.scala b/core/src/main/scala/org/apache/spark/util/logging/FileAppender.scala index 9ddd02f..86bbaa2 100644 --- a/core/src/main/scala/org/apache/spark/util/logging/FileAppender.scala +++ b/core/src/main/scala/org/apache/spark/util/logging/FileAppender.scala @@ -29,7 +29,6 @@ private[spark] class FileAppender(inputStream: InputStream, file: File, bufferSi extends Logging { @volatile private var outputStream: FileOutputStream = null @volatile private var markedForStop = false // has the appender been asked to stopped - @volatile private var stopped = false // has the appender stopped // Thread that reads the input stream and writes to file private val writingThread = new Thread("File appending thread for " + file) { @@ -47,11 +46,7 @@ private[spark] class FileAppender(inputStream: InputStream, file: File, bufferSi * or because of any error in appending */ def awaitTermination() { - synchronized { - if (!stopped) { - wait() - } - } + writingThread.join() } /** Stop the appender */ @@ -81,10 +76,6 @@ private[spark] class FileAppender(inputStream: InputStream, file: File, bufferSi } } { closeFile() - synchronized { - stopped = true - notifyAll() - } } } catch { case e: Exception => --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org