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 d062f6c..2eb7a24 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 @@ -655,9 +655,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