This is an automated email from the ASF dual-hosted git repository.
chufenggao pushed a commit to branch 3.0.2-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/3.0.2-prepare by this push:
new f8e02723e3 Fix hive datasource connection leak (#12226) (#12777)
f8e02723e3 is described below
commit f8e02723e362d285cf8d5d04eb937b9244aca1a3
Author: Eric Gao <[email protected]>
AuthorDate: Mon Nov 7 17:14:45 2022 +0800
Fix hive datasource connection leak (#12226) (#12777)
Co-authored-by: Wenjun Ruan <[email protected]>
---
.../plugin/datasource/hive/HiveDataSourceClient.java | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/main/java/org/apache/dolphinscheduler/plugin/datasource/hive/HiveDataSourceClient.java
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/main/java/org/apache/dolphinscheduler/plugin/datasource/hive/HiveDataSourceClient.java
index 735d6a35f2..58f5fa8f6a 100644
---
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/main/java/org/apache/dolphinscheduler/plugin/datasource/hive/HiveDataSourceClient.java
+++
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/main/java/org/apache/dolphinscheduler/plugin/datasource/hive/HiveDataSourceClient.java
@@ -43,6 +43,7 @@ import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -79,8 +80,8 @@ public class HiveDataSourceClient extends
CommonDataSourceClient {
this.ugi = createUserGroupInformation(baseConnectionParam.getUser());
logger.info("Create ugi success.");
- super.initClient(baseConnectionParam, dbType);
this.dataSource =
JDBCDataSourceProvider.createOneSessionJdbcDataSource(baseConnectionParam,
dbType);
+ this.jdbcTemplate = new JdbcTemplate(dataSource);
logger.info("Init {} success.", getClass().getName());
}
@@ -165,10 +166,13 @@ public class HiveDataSourceClient extends
CommonDataSourceClient {
@Override
public void close() {
- super.close();
+ try {
+ super.close();
+ } finally {
+ kerberosRenewalService.shutdown();
+ this.ugi = null;
+ }
+ logger.info("Closed Hive datasource client.");
- logger.info("close {}.", this.getClass().getSimpleName());
- kerberosRenewalService.shutdown();
- this.ugi = null;
}
}