diff --git a/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/DBConnector.java b/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/DBConnector.java index 8d66a9966..cf9f58cab 100644 --- a/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/DBConnector.java +++ b/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/DBConnector.java @@ -65,6 +65,10 @@ public static synchronized void closeAllConnections() { } } + static { + Runtime.getRuntime().addShutdownHook(new Thread(DBConnector::closeAllConnections)); + } + public static void closeConn(Connection conn) { if (conn != null) { try { diff --git a/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/DBUtil.java b/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/DBUtil.java index b42589f64..ac49680ab 100644 --- a/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/DBUtil.java +++ b/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/DBUtil.java @@ -285,9 +285,9 @@ public static LinkedHashMap parsePartitionDesc(String partitionD public static void fillDataSourceConfig(HikariConfig config) { config.setConnectionTimeout(10000); - config.setIdleTimeout(60000); - config.setMaximumPoolSize(8); - config.setKeepaliveTime(30000); + config.setIdleTimeout(30000); + config.setMaximumPoolSize(2); + config.setKeepaliveTime(10000); config.setMinimumIdle(1); config.addDataSourceProperty("cachePrepStmts", "true"); config.addDataSourceProperty("prepStmtCacheSize", "250"); diff --git a/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/jnr/NativeMetadataJavaClient.java b/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/jnr/NativeMetadataJavaClient.java index 26626491e..bbf1f7346 100644 --- a/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/jnr/NativeMetadataJavaClient.java +++ b/lakesoul-common/src/main/java/com/dmetasoul/lakesoul/meta/jnr/NativeMetadataJavaClient.java @@ -4,6 +4,7 @@ package com.dmetasoul.lakesoul.meta.jnr; import com.alibaba.fastjson.JSON; +import com.dmetasoul.lakesoul.meta.DBConnector; import com.dmetasoul.lakesoul.meta.DBUtil; import com.dmetasoul.lakesoul.meta.DataBaseProperty; import com.dmetasoul.lakesoul.meta.entity.JniWrapper; @@ -541,6 +542,9 @@ public static void closeAll() { } } + static { + java.lang.Runtime.getRuntime().addShutdownHook(new Thread(NativeMetadataJavaClient::closeAll)); + } /** * if ffi function failed with -100