Repository: spark
Updated Branches:
  refs/heads/master b914e1930 -> 4d9d9cc58


[SPARK-15853][SQL] HDFSMetadataLog.get should close the input stream

## What changes were proposed in this pull request?

This PR closes the input stream created in `HDFSMetadataLog.get`

## How was this patch tested?

Jenkins unit tests.

Author: Shixiong Zhu <shixi...@databricks.com>

Closes #13583 from zsxwing/leak.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/4d9d9cc5
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/4d9d9cc5
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/4d9d9cc5

Branch: refs/heads/master
Commit: 4d9d9cc5853c467acdb67915117127915a98d8f8
Parents: b914e19
Author: Shixiong Zhu <shixi...@databricks.com>
Authored: Thu Jun 9 18:45:19 2016 -0700
Committer: Tathagata Das <tathagata.das1...@gmail.com>
Committed: Thu Jun 9 18:45:19 2016 -0700

----------------------------------------------------------------------
 .../spark/sql/execution/streaming/HDFSMetadataLog.scala      | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/4d9d9cc5/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/HDFSMetadataLog.scala
----------------------------------------------------------------------
diff --git 
a/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/HDFSMetadataLog.scala
 
b/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/HDFSMetadataLog.scala
index fca3d51..069e41b 100644
--- 
a/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/HDFSMetadataLog.scala
+++ 
b/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/HDFSMetadataLog.scala
@@ -175,8 +175,12 @@ class HDFSMetadataLog[T: ClassTag](sparkSession: 
SparkSession, path: String)
     val batchMetadataFile = batchIdToPath(batchId)
     if (fileManager.exists(batchMetadataFile)) {
       val input = fileManager.open(batchMetadataFile)
-      val bytes = IOUtils.toByteArray(input)
-      Some(deserialize(bytes))
+      try {
+        val bytes = IOUtils.toByteArray(input)
+        Some(deserialize(bytes))
+      } finally {
+        input.close()
+      }
     } else {
       logDebug(s"Unable to find batch $batchMetadataFile")
       None


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to