diff options
author | navis.ryu <navis@apache.org> | 2015-10-16 11:19:37 -0700 |
---|---|---|
committer | Reynold Xin <rxin@databricks.com> | 2015-10-16 11:19:37 -0700 |
commit | b9c5e5d4ac4c9fe29e880f4ee562a9c552e81d29 (patch) | |
tree | b4d7c3b5e0dcfd3dcccfcefc0291b28198e75b7b /core/src | |
parent | 4ee2cea2a43f7d04ab8511d9c029f80c5dadd48e (diff) | |
download | spark-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/src')
-rw-r--r-- | core/src/main/scala/org/apache/spark/util/Utils.scala | 4 |
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() + } } /** |