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 {

Reply via email to