You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2018/04/17 14:38:59 UTC
[2/2] activemq-artemis git commit: ARTEMIS-1806 JDBC Connection leaks
ARTEMIS-1806 JDBC Connection leaks
The JDBC Connection leaks on:
- JDBCFileUtils::getDBFileDriver(DataSource, SQLProvider)
- SharedStoreBackupActivation.FailbackChecker::run on a failed awaitLiveStatus
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/bbb2f708
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/bbb2f708
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/bbb2f708
Branch: refs/heads/master
Commit: bbb2f708dd86d681a02237aa1b7c366668af37d4
Parents: 1118bdb
Author: Francesco Nigro <ni...@gmail.com>
Authored: Sat Apr 14 10:37:34 2018 +0200
Committer: Clebert Suconic <cl...@apache.org>
Committed: Tue Apr 17 10:38:53 2018 -0400
----------------------------------------------------------------------
.../activemq/artemis/jdbc/store/file/JDBCFileUtils.java | 8 ++++++--
.../core/server/impl/SharedStoreBackupActivation.java | 7 +++++--
2 files changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/bbb2f708/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCFileUtils.java
----------------------------------------------------------------------
diff --git a/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCFileUtils.java b/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCFileUtils.java
index 5834852..803584b 100644
--- a/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCFileUtils.java
+++ b/artemis-jdbc-store/src/main/java/org/apache/activemq/artemis/jdbc/store/file/JDBCFileUtils.java
@@ -44,8 +44,12 @@ class JDBCFileUtils {
}
static JDBCSequentialFileFactoryDriver getDBFileDriver(DataSource dataSource, SQLProvider provider) throws SQLException {
- JDBCSequentialFileFactoryDriver dbDriver;
- if (POSTGRESQL.equals(PropertySQLProvider.Factory.investigateDialect(dataSource.getConnection()))) {
+ final JDBCSequentialFileFactoryDriver dbDriver;
+ final PropertySQLProvider.Factory.SQLDialect sqlDialect;
+ try (Connection connection = dataSource.getConnection()) {
+ sqlDialect = PropertySQLProvider.Factory.investigateDialect(connection);
+ }
+ if (POSTGRESQL.equals(sqlDialect)) {
dbDriver = new PostgresSequentialSequentialFileDriver(dataSource, provider);
} else {
dbDriver = new JDBCSequentialFileFactoryDriver(dataSource, provider);
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/bbb2f708/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/SharedStoreBackupActivation.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/SharedStoreBackupActivation.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/SharedStoreBackupActivation.java
index 913cc7b..383f93f 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/SharedStoreBackupActivation.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/SharedStoreBackupActivation.java
@@ -215,8 +215,11 @@ public final class SharedStoreBackupActivation extends Activation {
// ensure that the server to which we are failing back actually starts fully before we restart
nodeManager.start();
- nodeManager.awaitLiveStatus();
- nodeManager.stop();
+ try {
+ nodeManager.awaitLiveStatus();
+ } finally {
+ nodeManager.stop();
+ }
synchronized (failbackCheckerGuard) {
if (cancelFailBackChecker || !sharedStoreSlavePolicy.isRestartBackup())