From a70b95be37c2bccfe895f2a543d0507ce49c441d Mon Sep 17 00:00:00 2001 From: Trisha Anand Date: Mon, 28 Dec 2020 18:26:33 +0530 Subject: [PATCH] Adding leak detection to hikari pool. Would be tracking this on logdna to ensure that we are catching any and all leaks that may be occuring with hikari. (#2374) --- .../src/main/java/com/external/plugins/PostgresPlugin.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java b/app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java index e3ff0a0933..35609e71ba 100644 --- a/app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java +++ b/app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java @@ -54,6 +54,8 @@ public class PostgresPlugin extends BasePlugin { private static final int MAXIMUM_POOL_SIZE = 5; + private static final long LEAK_DETECTION_TIME_MS = 60*1000; + public PostgresPlugin(PluginWrapper wrapper) { super(wrapper); } @@ -540,6 +542,10 @@ public class PostgresPlugin extends BasePlugin { } config.setJdbcUrl(url); + // Configuring leak detection threshold for 60 seconds. Any connection which hasn't been released in 60 seconds + // should get tracked (may be falsely for long running queries) as leaked connection + config.setLeakDetectionThreshold(LEAK_DETECTION_TIME_MS); + // Now create the connection pool from the configuration HikariDataSource datasource = new HikariDataSource(config);