From 8f00d23598bc3d96f1e270fd0c652b1602efb18e Mon Sep 17 00:00:00 2001
From: Stephen Haberman <stephen@exigencecorp.com>
Date: Tue, 12 Mar 2013 12:30:10 -0500
Subject: [PATCH] Remove NextIterator.close default implementation.

---
 core/src/main/scala/spark/serializer/Serializer.scala | 4 ++++
 core/src/main/scala/spark/util/NextIterator.scala     | 7 +++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/core/src/main/scala/spark/serializer/Serializer.scala b/core/src/main/scala/spark/serializer/Serializer.scala
index d94ffa78f7..aca86ab6f0 100644
--- a/core/src/main/scala/spark/serializer/Serializer.scala
+++ b/core/src/main/scala/spark/serializer/Serializer.scala
@@ -81,5 +81,9 @@ trait DeserializationStream {
           finished = true
       }
     }
+
+    override protected def close() {
+      DeserializationStream.this.close()
+    }
   }
 }
diff --git a/core/src/main/scala/spark/util/NextIterator.scala b/core/src/main/scala/spark/util/NextIterator.scala
index 32fae42e73..da76b5f6d0 100644
--- a/core/src/main/scala/spark/util/NextIterator.scala
+++ b/core/src/main/scala/spark/util/NextIterator.scala
@@ -22,8 +22,8 @@ private[spark] abstract class NextIterator[U] extends Iterator[U] {
   protected def getNext(): U
 
   /**
-   * Method for subclasses to optionally implement when all elements
-   * have been successfully iterated, and the iteration is done.
+   * Method for subclasses to implement when all elements have been successfully
+   * iterated, and the iteration is done.
    *
    * <b>Note:</b> `NextIterator` cannot guarantee that `close` will be
    * called because it has no control over what happens when an exception
@@ -32,8 +32,7 @@ private[spark] abstract class NextIterator[U] extends Iterator[U] {
    * Ideally you should have another try/catch, as in HadoopRDD, that
    * ensures any resources are closed should iteration fail.
    */
-  protected def close() {
-  }
+  protected def close()
 
   override def hasNext: Boolean = {
     if (!finished) {
-- 
GitLab