IJ000453: Unable to get managed connection for java:jboss/datasources/TASKORMDS

17,759 views
Skip to first unread message

Maria Prabudass

unread,
Aug 17, 2016, 3:08:43 PM8/17/16
to jBPM Usage
Hi,
We encounter an issue in production when we upgraded JBPM from 5.2.0.Final version to 5.4.0.Final version. Provided below the details and seeking your help to sort out this issue.

In-order to use the local human task feature, we have upgrade the JBPM version from 5.2 to 5.4. In development, we didn't observe any issue whereas in production the exception has been raised for the customer whose load is heavy but the same didn't occur for the customer who has light or average load.

Posted below the exception message & jBoss configuration for your references. This is huge blocker for us. Please help me to solve this issue.

jBoss Server Log:-
Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/TASKORMDS
at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:137)
at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:92) [hibernate-core-3.6.9.Final.jar:]
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446) [hibernate-core-3.6.9.Final.jar:]
... 86 more
Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/TASKORMDS
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:394)
at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:367)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:467)
at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:129)
... 88 more
Caused by: javax.resource.ResourceException: IJ000655: No managed connections available within configured blocking timeout (5000 [ms])
at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:355)
at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:392)
at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:357)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:351)

jBoss Datasource Configuration:-
  <datasource jndi-name="java:jboss/datasources/TASKORMDS" pool-name="MySqlDS" enabled="true" jta="true" use-java-context="true" use-ccm="true">
                    <connection-url>
                        jdbc:mysql://livedb.co.in:3306/task_details
                    </connection-url>
                    <driver>
                        com.mysql
                    </driver>
                    <transaction-isolation>
                        TRANSACTION_READ_COMMITTED
                    </transaction-isolation>
                    <pool>
                        <min-pool-size>
                            10
                        </min-pool-size>
                        <max-pool-size>
                            100
                        </max-pool-size>
                        <prefill>
                            false
                        </prefill>
                        <use-strict-min>
                            false
                        </use-strict-min>
                        <flush-strategy>
                            FailingConnectionOnly
                        </flush-strategy>
                    </pool>
                    <security>
                        <user-name>
                            xxxxx
  </user-name>
                        <password>
                            xxxxx
                        </password>
                    </security>
                    <validation>
                        <check-valid-connection-sql>
                            select 1
                        </check-valid-connection-sql>
                        <validate-on-match>
                            true
                        </validate-on-match>
                        <background-validation>
                            false
                        </background-validation>
                        <use-fast-fail>
                            false
                        </use-fast-fail>
                    </validation>
                    <timeout>
                        <blocking-timeout-millis>
                            5000
                        </blocking-timeout-millis>
                        <idle-timeout-minutes>
                            60000
                        </idle-timeout-minutes>5.4.0.Final
                        <set-tx-query-timeout/>
                    </timeout>
   <statement>
                        <prepared-statement-cache-size>
                            0
                        </prepared-statement-cache-size>
                    </statement>
                </datasource>

Note:
Customers who has heavy loads were working fine before the migration ie 5.2 version in production.

Regards,
Maria

Maciej Swiderski

unread,
Aug 18, 2016, 2:07:19 AM8/18/16
to Maria Prabudass, jBPM Usage
it clearly says there are not enough connection in the pool. So you can try to increase the size of the pool to see if that helps. At the same time you could monitor it a bit to see if connections as properly returned to the pool. There are no known issues with connection leaks in jbpm so it could be either increased need for connection or some long running processes that hold up the connections.

Maciej

--
You received this message because you are subscribed to the Google Groups "jBPM Usage" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jbpm-usage+unsubscribe@googlegroups.com.
To post to this group, send email to jbpm-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jbpm-usage/51afea7a-7158-4304-a2d8-6e8088bcc9c5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Maria Prabudass

unread,
Aug 18, 2016, 7:28:37 AM8/18/16
to jBPM Usage, maria.p...@gmail.com
Hello Maciej,

Thanks for your response.

As per your suggestion we tried to increate the pool size and provided the load using jMeter, we got two types of exception:

1. SEVERE [org.hibernate.util.JDBCExceptionReporter] (http--10.0.5.40-8123-381) Connection is not associated with a managed connection.org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6@110db592

2. IJ000453: Unable to get managed connection for java:jboss/datasources/TASKORMDS

POOL size Timeout No. Of Hit No. Of Exception (Type 1) No. Of Exception (Type 2)
100   60   500 21 0
200   60   500 80 10


If we get exception 2, any request after it gets failed and it can be solved only after restarting jBoss application server. I don't know why it is happening so, please advice on this.

Also we have another query, We have set idle-time-out in jBoss but the connection is not closed based on this configuration. The connection stays sleep and it gets closed based on connection timeout configured in DB.

Regards,
Maria
To unsubscribe from this group and stop receiving emails from it, send an email to jbpm-usage+...@googlegroups.com.

Maciej Swiderski

unread,
Aug 22, 2016, 3:50:54 AM8/22/16
to jBPM Usage
The only thing I can suggest is to start monitoring and profiling the connection pool. You can enable statistics on JBoss application server and use JConsole to monitor its usage. In the data source configuration you sent I noticed very high setting for idle-timeout-minutes which looks weird as you might keep connection open for huge amount of time without them being used.

Macie
Reply all
Reply to author
Forward
0 new messages