From 97dc45e8b00008409a06b81e8f4b3a802325bd2b Mon Sep 17 00:00:00 2001 From: kaka11chen Date: Fri, 20 Sep 2024 14:18:09 +0800 Subject: [PATCH] [Fix](jdbc-scanner) Fix jdbc scanner memory leak. --- .../main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java index 3e681fa1519166..6e38992657144f 100644 --- a/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java +++ b/fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/BaseJdbcExecutor.java @@ -100,6 +100,9 @@ public BaseJdbcExecutor(byte[] thriftParams) throws Exception { } public void close() throws Exception { + if (outputTable != null) { + outputTable.close(); + } try { if (stmt != null && !stmt.isClosed()) { try { @@ -112,8 +115,8 @@ public void close() throws Exception { if (conn != null && resultSet != null) { abortReadConnection(conn, resultSet); } - closeResources(resultSet, stmt, conn); } finally { + closeResources(resultSet, stmt, conn); if (config.getConnectionPoolMinSize() == 0 && hikariDataSource != null) { hikariDataSource.close(); JdbcDataSource.getDataSource().getSourcesMap().remove(config.createCacheKey());