aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authornavis.ryu <navis@apache.org>2015-10-16 11:19:37 -0700
committerReynold Xin <rxin@databricks.com>2015-10-16 11:19:37 -0700
commitb9c5e5d4ac4c9fe29e880f4ee562a9c552e81d29 (patch)
treeb4d7c3b5e0dcfd3dcccfcefc0291b28198e75b7b /core
parent4ee2cea2a43f7d04ab8511d9c029f80c5dadd48e (diff)
downloadspark-b9c5e5d4ac4c9fe29e880f4ee562a9c552e81d29.tar.gz
spark-b9c5e5d4ac4c9fe29e880f4ee562a9c552e81d29.tar.bz2
spark-b9c5e5d4ac4c9fe29e880f4ee562a9c552e81d29.zip
[SPARK-11124] JsonParser/Generator should be closed for resource recycle
Some json parsers are not closed. parser in JacksonParser#parseJson, for example. Author: navis.ryu <navis@apache.org> Closes #9130 from navis/SPARK-11124.
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/util/Utils.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/src/main/scala/org/apache/spark/util/Utils.scala b/core/src/main/scala/org/apache/spark/util/Utils.scala
index bd7e51c3b5..22c05a2479 100644
--- a/core/src/main/scala/org/apache/spark/util/Utils.scala
+++ b/core/src/main/scala/org/apache/spark/util/Utils.scala
@@ -2153,6 +2153,10 @@ private[spark] object Utils extends Logging {
conf.getInt("spark.executor.instances", 0) == 0
}
+ def tryWithResource[R <: Closeable, T](createResource: => R)(f: R => T): T = {
+ val resource = createResource
+ try f.apply(resource) finally resource.close()
+ }
}
/**