aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Lebedev <s.lebedev@criteo.com>2017-04-13 09:56:34 +0100
committerSean Owen <sowen@cloudera.com>2017-04-13 09:56:34 +0100
commita4293c28438515d5ccf1f6b82f7b762e316d0a27 (patch)
treea85ae68f4b651abb6bebc6544b84e01ceba3ddbe
parent095d1cb3aa0021c9078a6e910967b9189ddfa177 (diff)
downloadspark-a4293c28438515d5ccf1f6b82f7b762e316d0a27.tar.gz
spark-a4293c28438515d5ccf1f6b82f7b762e316d0a27.tar.bz2
spark-a4293c28438515d5ccf1f6b82f7b762e316d0a27.zip
[SPARK-20284][CORE] Make {Des,S}erializationStream extend Closeable
## What changes were proposed in this pull request? This PR allows to use `SerializationStream` and `DeserializationStream` in try-with-resources. ## How was this patch tested? `core` unit tests. Author: Sergei Lebedev <s.lebedev@criteo.com> Closes #17598 from superbobry/compression-stream-closeable.
-rw-r--r--core/src/main/scala/org/apache/spark/serializer/Serializer.scala8
1 files changed, 4 insertions, 4 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 01bbda0b5e..cb8b1cc077 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. */
@@ -133,7 +133,7 @@ abstract class SerializationStream {
/** 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) {
@@ -149,14 +149,14 @@ 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. */
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