This is an automated email from the ASF dual-hosted git repository.

xxyu pushed a commit to branch kylin5
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit b3f7cf32ae93c6bb0462ee6bd85d71d5f28ffd87
Author: Jiawei Li <1019037...@qq.com>
AuthorDate: Tue Jan 10 09:54:01 2023 +0800

    [DIRTY] fix jdbc connection not close
---
 .../common/persistence/metadata/jdbc/JdbcUtil.java | 25 ++++++++++++----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git 
a/src/core-common/src/main/java/org/apache/kylin/common/persistence/metadata/jdbc/JdbcUtil.java
 
b/src/core-common/src/main/java/org/apache/kylin/common/persistence/metadata/jdbc/JdbcUtil.java
index 5c24313fb2..afe9e37174 100644
--- 
a/src/core-common/src/main/java/org/apache/kylin/common/persistence/metadata/jdbc/JdbcUtil.java
+++ 
b/src/core-common/src/main/java/org/apache/kylin/common/persistence/metadata/jdbc/JdbcUtil.java
@@ -123,20 +123,23 @@ public class JdbcUtil {
     }
 
     private static boolean isPrimaryKeyExists(Connection conn, String... 
tables) throws SQLException {
-
-        for (String table : tables) {
-            try {
-                val resultSet = 
conn.getMetaData().getPrimaryKeys(conn.getCatalog(), conn.getSchema(), table);
-                if (resultSet.next()) {
-                    return true;
+        try {
+            for (String table : tables) {
+                try {
+                    val resultSet = 
conn.getMetaData().getPrimaryKeys(conn.getCatalog(), conn.getSchema(), table);
+                    if (resultSet.next()) {
+                        return true;
+                    }
+                } catch (Exception e) {
+                    logger.warn("get primary key from table {} failed", table, 
e);
                 }
-            } catch (Exception e) {
-                log.warn("get primary key from table {} failed", table, e);
+            }
+        } finally {
+            if (!conn.isClosed()) {
+                conn.close();
             }
         }
-        if (!conn.isClosed()) {
-            conn.close();
-        }
+
         return false;
 
     }

Reply via email to