HBASE-7996 Clean up resource leak in MultiTableInputFormat
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1453720 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
92d7a45476
commit
4fa8e86f29
|
@ -116,7 +116,10 @@ public abstract class MultiTableInputFormatBase extends
|
||||||
byte[] tableName = scan.getAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME);
|
byte[] tableName = scan.getAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME);
|
||||||
if (tableName == null)
|
if (tableName == null)
|
||||||
throw new IOException("A scan object did not have a table name");
|
throw new IOException("A scan object did not have a table name");
|
||||||
HTable table = new HTable(context.getConfiguration(), tableName);
|
|
||||||
|
HTable table = null;
|
||||||
|
try {
|
||||||
|
table = new HTable(context.getConfiguration(), tableName);
|
||||||
Pair<byte[][], byte[][]> keys = table.getStartEndKeys();
|
Pair<byte[][], byte[][]> keys = table.getStartEndKeys();
|
||||||
if (keys == null || keys.getFirst() == null ||
|
if (keys == null || keys.getFirst() == null ||
|
||||||
keys.getFirst().length == 0) {
|
keys.getFirst().length == 0) {
|
||||||
|
@ -149,14 +152,15 @@ public abstract class MultiTableInputFormatBase extends
|
||||||
stopRow) <= 0) && keys.getSecond()[i].length > 0 ? keys
|
stopRow) <= 0) && keys.getSecond()[i].length > 0 ? keys
|
||||||
.getSecond()[i] : stopRow;
|
.getSecond()[i] : stopRow;
|
||||||
InputSplit split =
|
InputSplit split =
|
||||||
new TableSplit(tableName, scan, splitStart,
|
new TableSplit(tableName, scan, splitStart, splitStop, regionLocation);
|
||||||
splitStop, regionLocation);
|
|
||||||
splits.add(split);
|
splits.add(split);
|
||||||
if (LOG.isDebugEnabled())
|
if (LOG.isDebugEnabled())
|
||||||
LOG.debug("getSplits: split -> " + (count++) + " -> " + split);
|
LOG.debug("getSplits: split -> " + (count++) + " -> " + split);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
table.close();
|
} finally {
|
||||||
|
if (null != table) table.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return splits;
|
return splits;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue