From ba8098f5c284b6803a98e5a3b3b8115488bb34cc Mon Sep 17 00:00:00 2001 From: jerryshao Date: Tue, 8 Jul 2014 16:33:16 +0800 Subject: [PATCH] Update the initial position when reuse DiskBlockObjectWriter to open the file --- .../scala/org/apache/spark/storage/BlockObjectWriter.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/storage/BlockObjectWriter.scala b/core/src/main/scala/org/apache/spark/storage/BlockObjectWriter.scala index a2687e6be4e34..23ed257b5dc9d 100644 --- a/core/src/main/scala/org/apache/spark/storage/BlockObjectWriter.scala +++ b/core/src/main/scala/org/apache/spark/storage/BlockObjectWriter.scala @@ -107,8 +107,8 @@ private[spark] class DiskBlockObjectWriter( private var fos: FileOutputStream = null private var ts: TimeTrackingOutputStream = null private var objOut: SerializationStream = null - private val initialPosition = file.length() - private var lastValidPosition = initialPosition + private var initialPosition: Long = 0L + private var lastValidPosition: Long = 0L private var initialized = false private var _timeWriting = 0L @@ -116,6 +116,7 @@ private[spark] class DiskBlockObjectWriter( fos = new FileOutputStream(file, true) ts = new TimeTrackingOutputStream(fos) channel = fos.getChannel() + initialPosition = file.length() lastValidPosition = initialPosition bs = compressStream(new BufferedOutputStream(ts, bufferSize)) objOut = serializer.newInstance().serializeStream(bs)