Database datasource - "Dangerous use of multiple connections" on local database


Table of contents



Symptoms

You are performing bulk operations which may update multiple Elements Connect fields and find the following error in the logs :

[c.a.jira.ofbiz.ConnectionPoolHealthSqlInterceptor] Dangerous use of multiple connections: taken => count=2; marks=[1-0]; pool=7/8
[INFO] [talledLocalContainer] java.lang.AssertionError: Explicit stack trace requested
[INFO] [talledLocalContainer]   at com.atlassian.jira.util.log.RateLimitingLogger.warnWithTrace(RateLimitingLogger.java:124)
[INFO] [talledLocalContainer]   at com.atlassian.jira.ofbiz.ConnectionPoolHealthSqlInterceptor$CountHolder.logWarn(ConnectionPoolHealthSqlInterceptor.java:236)
[INFO] [talledLocalContainer]   at com.atlassian.jira.ofbiz.ConnectionPoolHealthSqlInterceptor$CountHolder.taken(ConnectionPoolHealthSqlInterceptor.java:252)
[INFO] [talledLocalContainer]   at com.atlassian.jira.ofbiz.ConnectionPoolHealthSqlInterceptor.onConnectionTaken(ConnectionPoolHealthSqlInterceptor.java:89)
[INFO] [talledLocalContainer]   at com.atlassian.jira.ofbiz.ChainedSQLInterceptor.lambda$onConnectionTaken$0(ChainedSQLInterceptor.java:64)
[INFO] [talledLocalContainer]   at com.atlassian.jira.ofbiz.ChainedSQLInterceptor.forEach(ChainedSQLInterceptor.java:93)
[INFO] [talledLocalContainer]   at com.atlassian.jira.ofbiz.ChainedSQLInterceptor.onConnectionTaken(ChainedSQLInterceptor.java:63)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.jdbc.interceptors.connection.SafeDelegatingSqlConnectionInterceptor.onConnectionTaken(SafeDelegatingSqlConnectionInterceptor.java:30)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.jdbc.interceptors.connection.ConnectionTracker.informInterceptor(ConnectionTracker.java:64)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.jdbc.interceptors.connection.ConnectionTracker.trackConnection(ConnectionTracker.java:49)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.transaction.JNDIFactory.trackConnection(JNDIFactory.java:258)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.transaction.JNDIFactory.getJndiConnection(JNDIFactory.java:191)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.transaction.JNDIFactory.getConnection(JNDIFactory.java:156)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.TransactionFactory.getConnection(TransactionFactory.java:114)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.ConnectionFactory.getConnection(ConnectionFactory.java:59)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.SequenceUtil$SequenceBank.fillBank(SequenceUtil.java:195)
[INFO] [talledLocalContainer]   at org.ofbiz.core.entity.SequenceUtil$SequenceBank.<init>(SequenceUtil.java:137)
[INFO] [talledLocalContainer]   at 




Cause

This message is logged by Jira as soon as it detects that one thread uses more than one connection to its database.


Resolution

There is no workaround as this a normal use case with Elements Connect which may take up to two connections by a thread. Usually, the duration of this operation is very short and should not have any significant impact on your instance.