Repository: kylin Updated Branches: refs/heads/master f0e5e376d -> 04c76e0c5
KYLIN-3111 Place close of admin instance into finally block Signed-off-by: lidongsjtu <lid...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/04c76e0c Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/04c76e0c Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/04c76e0c Branch: refs/heads/master Commit: 04c76e0c5143461d8cedbbb0b5e89e198247cb00 Parents: f0e5e37 Author: ChaoLong <wayn...@qq.com> Authored: Sun Dec 17 09:10:43 2017 +0000 Committer: lidongsjtu <lid...@apache.org> Committed: Sun Dec 17 17:18:35 2017 +0800 ---------------------------------------------------------------------- .../hbase/util/DeployCoprocessorCLI.java | 79 +++++++++++--------- .../hbase/util/HtableAlterMetadataCLI.java | 21 ++++-- 2 files changed, 56 insertions(+), 44 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/04c76e0c/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/DeployCoprocessorCLI.java ---------------------------------------------------------------------- diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/DeployCoprocessorCLI.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/DeployCoprocessorCLI.java index 56d5497..aa69151 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/DeployCoprocessorCLI.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/DeployCoprocessorCLI.java @@ -89,53 +89,58 @@ public class DeployCoprocessorCLI { Configuration hconf = HBaseConnection.getCurrentHBaseConfiguration(); FileSystem fileSystem = FileSystem.get(hconf); Connection conn = HBaseConnection.get(kylinConfig.getStorageUrl()); - Admin hbaseAdmin = conn.getAdmin(); + Admin hbaseAdmin = null; - String localCoprocessorJar; - if ("default".equals(args[0])) { - localCoprocessorJar = kylinConfig.getCoprocessorLocalJar(); - } else { - localCoprocessorJar = new File(args[0]).getAbsolutePath(); - } + try { + hbaseAdmin = conn.getAdmin(); + String localCoprocessorJar; + if ("default".equals(args[0])) { + localCoprocessorJar = kylinConfig.getCoprocessorLocalJar(); + } else { + localCoprocessorJar = new File(args[0]).getAbsolutePath(); + } - logger.info("Identify coprocessor jar " + localCoprocessorJar); + logger.info("Identify coprocessor jar " + localCoprocessorJar); - List<String> tableNames = getHTableNames(kylinConfig); - logger.info("Identify tables " + tableNames); + List<String> tableNames = getHTableNames(kylinConfig); + logger.info("Identify tables " + tableNames); - String filterType = args[1].toLowerCase(); - if (filterType.equals("-table")) { - tableNames = filterByTables(tableNames, Arrays.asList(args).subList(2, args.length)); - } else if (filterType.equals("-cube")) { - tableNames = filterByCubes(tableNames, Arrays.asList(args).subList(2, args.length)); - } else if (filterType.equals("-project")) { - tableNames = filterByProjects(tableNames, Arrays.asList(args).subList(2, args.length)); - } else if (!filterType.equals("all")) { - printUsageAndExit(); - } - - logger.info("Will execute tables " + tableNames); - long start = System.currentTimeMillis(); + String filterType = args[1].toLowerCase(); + if (filterType.equals("-table")) { + tableNames = filterByTables(tableNames, Arrays.asList(args).subList(2, args.length)); + } else if (filterType.equals("-cube")) { + tableNames = filterByCubes(tableNames, Arrays.asList(args).subList(2, args.length)); + } else if (filterType.equals("-project")) { + tableNames = filterByProjects(tableNames, Arrays.asList(args).subList(2, args.length)); + } else if (!filterType.equals("all")) { + printUsageAndExit(); + } - Set<String> oldJarPaths = getCoprocessorJarPaths(hbaseAdmin, tableNames); - logger.info("Old coprocessor jar: " + oldJarPaths); + logger.info("Will execute tables " + tableNames); + long start = System.currentTimeMillis(); - Path hdfsCoprocessorJar = uploadCoprocessorJar(localCoprocessorJar, fileSystem, oldJarPaths); - logger.info("New coprocessor jar: " + hdfsCoprocessorJar); + Set<String> oldJarPaths = getCoprocessorJarPaths(hbaseAdmin, tableNames); + logger.info("Old coprocessor jar: " + oldJarPaths); - Pair<List<String>, List<String>> results = resetCoprocessorOnHTables(hbaseAdmin, hdfsCoprocessorJar, tableNames); + Path hdfsCoprocessorJar = uploadCoprocessorJar(localCoprocessorJar, fileSystem, oldJarPaths); + logger.info("New coprocessor jar: " + hdfsCoprocessorJar); - // Don't remove old jars, missing coprocessor jar will fail hbase - // removeOldJars(oldJarPaths, fileSystem); + Pair<List<String>, List<String>> results = resetCoprocessorOnHTables(hbaseAdmin, hdfsCoprocessorJar, tableNames); - hbaseAdmin.close(); + // Don't remove old jars, missing coprocessor jar will fail hbase + // removeOldJars(oldJarPaths, fileSystem); - logger.info("Processed time: " + (System.currentTimeMillis() - start)); - logger.info("Processed tables count: " + results.getFirst().size()); - logger.info("Processed tables: " + results.getFirst()); - logger.error("Failed tables count: " + results.getSecond().size()); - logger.error("Failed tables : " + results.getSecond()); - logger.info("Active coprocessor jar: " + hdfsCoprocessorJar); + logger.info("Processed time: " + (System.currentTimeMillis() - start)); + logger.info("Processed tables count: " + results.getFirst().size()); + logger.info("Processed tables: " + results.getFirst()); + logger.error("Failed tables count: " + results.getSecond().size()); + logger.error("Failed tables : " + results.getSecond()); + logger.info("Active coprocessor jar: " + hdfsCoprocessorJar); + } finally { + if (hbaseAdmin != null) { + hbaseAdmin.close(); + } + } } private static void printUsageAndExit() { http://git-wip-us.apache.org/repos/asf/kylin/blob/04c76e0c/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HtableAlterMetadataCLI.java ---------------------------------------------------------------------- diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HtableAlterMetadataCLI.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HtableAlterMetadataCLI.java index ea05ab2..9de92f5 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HtableAlterMetadataCLI.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HtableAlterMetadataCLI.java @@ -52,14 +52,21 @@ public class HtableAlterMetadataCLI extends AbstractApplication { private void alter() throws IOException { Connection conn = HBaseConnection.get(KylinConfig.getInstanceFromEnv().getStorageUrl()); - Admin hbaseAdmin = conn.getAdmin(); - HTableDescriptor table = hbaseAdmin.getTableDescriptor(TableName.valueOf(tableName)); + Admin hbaseAdmin = null; - hbaseAdmin.disableTable(table.getTableName()); - table.setValue(metadataKey, metadataValue); - hbaseAdmin.modifyTable(table.getTableName(), table); - hbaseAdmin.enableTable(table.getTableName()); - hbaseAdmin.close(); + try { + hbaseAdmin = conn.getAdmin(); + HTableDescriptor table = hbaseAdmin.getTableDescriptor(TableName.valueOf(tableName)); + + hbaseAdmin.disableTable(table.getTableName()); + table.setValue(metadataKey, metadataValue); + hbaseAdmin.modifyTable(table.getTableName(), table); + hbaseAdmin.enableTable(table.getTableName()); + } finally { + if (hbaseAdmin != null) { + hbaseAdmin.close(); + } + } } public static void main(String[] args) throws Exception {