aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShixiong Zhu <shixiong@databricks.com>2016-06-09 18:45:19 -0700
committerTathagata Das <tathagata.das1565@gmail.com>2016-06-09 18:45:19 -0700
commit4d9d9cc5853c467acdb67915117127915a98d8f8 (patch)
tree41760d6632935f393785a730591813b9730cf06c
parentb914e1930fd5c5f2808f92d4958ec6fbeddf2e30 (diff)
downloadspark-4d9d9cc5853c467acdb67915117127915a98d8f8.tar.gz
spark-4d9d9cc5853c467acdb67915117127915a98d8f8.tar.bz2
spark-4d9d9cc5853c467acdb67915117127915a98d8f8.zip
[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 <shixiong@databricks.com> Closes #13583 from zsxwing/leak.
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/HDFSMetadataLog.scala8
1 files changed, 6 insertions, 2 deletions
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 fca3d51535..069e41b6ce 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