HBASE-16090 ResultScanner is not closed in SyncTable#finishRemainingHashRanges()


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/705a3aee
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/705a3aee
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/705a3aee

Branch: refs/heads/branch-1.3
Commit: 705a3aee946ed3dd9e899ea25b740d9c7cbf67cb
Parents: c91636b
Author: tedyu <yuzhih...@gmail.com>
Authored: Thu Jun 23 07:29:34 2016 -0700
Committer: Sean Busbey <bus...@apache.org>
Committed: Wed Jul 19 10:57:07 2017 -0500

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/mapreduce/SyncTable.java   | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/705a3aee/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java
index 7adf200..b19b482 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/SyncTable.java
@@ -654,9 +654,16 @@ public class SyncTable extends Configured implements Tool {
             scan.setStopRow(nextSourceKey.copyBytes());
           }
           
-          ResultScanner targetScanner = targetTable.getScanner(scan);
-          for (Result row : targetScanner) {
-            targetHasher.hashResult(row);          
+          ResultScanner targetScanner = null;
+          try {
+            targetScanner = targetTable.getScanner(scan);
+            for (Result row : targetScanner) {
+              targetHasher.hashResult(row);
+            }
+          } finally {
+            if (targetScanner != null) {
+              targetScanner.close();
+            }
           }
         } // else current batch ends exactly at split end row
 

Reply via email to