Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-7791

Aries pooling configurations are not respected thus leading to Exception- No ManagedConnections available within configured blocking timeout .

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • None
    • jboss-fuse-6.3
    • Aries
    • None
    • Medium
    • % %

      • Production environment doesn't seem to follow aries.xa.poolMaxSize = 1000; aries.xa.poolMinSize = 180 because from netstat output we find that connection count to db(3307) is less < 180 at the time issue occurred. Expectation is that minimum connection should always be 180.
      • This leads to below Exception in logs at 2018-02-20 21:09:33,556. This time connection to db as per netstat is 31.
        Caused by: java.sql.SQLException
                at org.tranql.connector.jdbc.TranqlDataSource.getConnection(TranqlDataSource.java:67)[198:org.apache.aries.transaction.jdbc:2.1.1]
                at Proxyb3dff109_7e7a_4576_8cde_4d9559ba4cb8.getConnection(Unknown Source)[:]
                at org.apache.aries.jpa.container.unit.impl.DelayedLookupDataSource.getConnection(DelayedLookupDataSource.java:36)[195:org.apache.aries.jpa.container:1.0.2]
                at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:70)[283:org.hibernate.entitymanager:4.2.20.Final-redhat-1]
                at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:301)[282:org.hibernate.core:4.2.20.Final-redhat-1]
                at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)[282:org.hibernate.core:4.2.20.Final-redhat-1]
                ... 122 more
        Caused by: javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 120000 [ms] ) for pool org.apache.geronimo.connector.outbound.SinglePoolMatchAllConnectionInterceptor@713afae9
                at org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:86)[236:org.apache.geronimo.components.geronimo-connector:3.1.1]
                at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:49)[236:org.apache.geronimo.components.geronimo-connector:3.1.1]
                at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:101)[236:org.apache.geronimo.components.geronimo-connector:3.1.1]
                at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)[236:org.apache.geronimo.components.geronimo-connector:3.1.1]
                at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)[236:org.apache.geronimo.components.geronimo-connector:3.1.1]
                at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)[236:org.apache.geronimo.components.geronimo-connector:3.1.1]
                at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:81)[236:org.apache.geronimo.components.geronimo-connector:3.1.1]
                at org.tranql.connector.jdbc.TranqlDataSource.getConnection(TranqlDataSource.java:62)[198:org.apache.aries.transaction.jdbc:2.1.1]
                ... 127 more
        
        
      • In lower environment, customer doesn't see this issue, with same configurations 180 connections are created.
      • Logs, Heapdump, Datasource_Configurations, Thread-dump and netstat output, here
      • netstat_output_20180220.log is having multiple output of 'netstat -anp|grep <process_id>'. These output are taken in every two minute. Total 67 times netstat output is being captured in this file.
      [cpandey@cpandey Downloads]$ grep "Tue Feb 20" netstat_output_20180220.log |wc -l
      67
      
      • If we find number of connection to port 3307(mysql).
        #Tue Feb 20 21:00:01 GMT 2018
        [cpandey@cpandey Downloads]$ less single_netstat.txt |grep 3307|wc -l
        31
        #Tue Feb 20 23:12:01 GMT 2018
        [cpandey@cpandey Downloads]$ less single_netstat.txt |grep 3307|wc -l
        203
        [cpandey@cpandey Downloads]$ 
        
      • We see within two hours number of connections increased from 31 to 203. But interesting part is that aries.xa.poolMinSize = 180, so it was expected that minimum connection should always be 180. Somehow configurations are not respected.
        aries.xa.poolMaxSize = 1000
        aries.xa.poolMinSize = 180
        

              ggrzybek Grzegorz Grzybek
              rhn-support-cpandey Chandra Shekhar Pandey (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: