From 75ba026db26171e0ed59d48d0ab2855f2a2af757 Mon Sep 17 00:00:00 2001 From: Sergei Lebedev Date: Mon, 10 Apr 2017 21:32:12 +0200 Subject: [PATCH 1/2] [SPARK-20284][CORE] Make {Des,S}erializationStream extend Closeable This change allows to use these streams in try-with-resources. --- .../main/scala/org/apache/spark/serializer/Serializer.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/serializer/Serializer.scala b/core/src/main/scala/org/apache/spark/serializer/Serializer.scala index 01bbda0b5e6b..85d79d863008 100644 --- a/core/src/main/scala/org/apache/spark/serializer/Serializer.scala +++ b/core/src/main/scala/org/apache/spark/serializer/Serializer.scala @@ -125,7 +125,7 @@ abstract class SerializerInstance { * A stream for writing serialized objects. */ @DeveloperApi -abstract class SerializationStream { +abstract class SerializationStream extends Closeable { /** The most general-purpose method to write an object. */ def writeObject[T: ClassTag](t: T): SerializationStream /** Writes the object representing the key of a key-value pair. */ @@ -149,7 +149,7 @@ abstract class SerializationStream { * A stream for reading serialized objects. */ @DeveloperApi -abstract class DeserializationStream { +abstract class DeserializationStream extends Closeable { /** The most general-purpose method to read an object. */ def readObject[T: ClassTag](): T /** Reads the object representing the key of a key-value pair. */ From 7d9631c93cea2ca577937b78027bfa9c6a4bd6bc Mon Sep 17 00:00:00 2001 From: Sergei Lebedev Date: Tue, 11 Apr 2017 18:12:35 +0200 Subject: [PATCH 2/2] Added missing 'override' modifiers --- .../main/scala/org/apache/spark/serializer/Serializer.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/serializer/Serializer.scala b/core/src/main/scala/org/apache/spark/serializer/Serializer.scala index 85d79d863008..cb8b1cc07763 100644 --- a/core/src/main/scala/org/apache/spark/serializer/Serializer.scala +++ b/core/src/main/scala/org/apache/spark/serializer/Serializer.scala @@ -133,7 +133,7 @@ abstract class SerializationStream extends Closeable { /** Writes the object representing the value of a key-value pair. */ def writeValue[T: ClassTag](value: T): SerializationStream = writeObject(value) def flush(): Unit - def close(): Unit + override def close(): Unit def writeAll[T: ClassTag](iter: Iterator[T]): SerializationStream = { while (iter.hasNext) { @@ -156,7 +156,7 @@ abstract class DeserializationStream extends Closeable { def readKey[T: ClassTag](): T = readObject[T]() /** Reads the object representing the value of a key-value pair. */ def readValue[T: ClassTag](): T = readObject[T]() - def close(): Unit + override def close(): Unit /** * Read the elements of this stream through an iterator. This can only be called once, as