diff --git a/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/HBaseContext.scala b/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/HBaseContext.scala index 656b8c2..3115233 100644 --- a/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/HBaseContext.scala +++ b/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/HBaseContext.scala @@ -628,6 +628,7 @@ class HBaseContext(@transient val sc: SparkContext, throw new FileAlreadyExistsException("Path " + stagingDir + " already exists") } val conn = HBaseConnectionCache.getConnection(config) + try { val regionLocator = conn.getRegionLocator(tableName) val startKeys = regionLocator.getStartKeys if (startKeys.length == 0) { @@ -707,8 +708,9 @@ class HBaseContext(@transient val sc: SparkContext, previousRow, compactionExclude) rollOverRequested = false - }) - if(null != conn) conn.close() + })} finally { + if (null != conn) conn.close() + } } /** @@ -760,6 +762,7 @@ class HBaseContext(@transient val sc: SparkContext, throw new FileAlreadyExistsException("Path " + stagingDir + " already exists") } val conn = HBaseConnectionCache.getConnection(config) + try{ val regionLocator = conn.getRegionLocator(tableName) val startKeys = regionLocator.getStartKeys if (startKeys.length == 0) { @@ -870,8 +873,9 @@ class HBaseContext(@transient val sc: SparkContext, previousRow, compactionExclude) rollOverRequested = false - }) - if(null != conn) conn.close() + })} finally { + if (null != conn) conn.close() + } } /**