7 Replies Latest reply on Oct 9, 2009 2:59 AM by Vicky Kak

    Exception: Unable to fill pool

    rhino247365 Newbie

      I get the following error intermittently (sometimes on startup of JBoss with the quartz scheduler, sometimes not) and have read all FAQ and Wiki material, tried all the connection checkers/sql statements in the oracle-xa-ds.xml config but nothing effects it.

      I am using JBoss-4.0.4.GA and Oracle RAC with latest drivers. This only appears on production environment - repeat, intermittently - not on test environment which is not Oracle RAC, just Oracle DB.

      Any help greatly appreciated.
      Thanks.

      2006-11-13 14:24:33,182 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
      org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Io exception: Socket is not connected)
      at org.jboss.resource.adapter.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:153)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:539)
      at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:228)
      at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:454)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:324)
      at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:301)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:379)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:812)
      at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
      at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:69)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
      at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
      at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
      at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
      at org.hibernate.loader.Loader.doQuery(Loader.java:661)
      at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
      at org.hibernate.loader.Loader.doList(Loader.java:2145)
      at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
      at org.hibernate.loader.Loader.list(Loader.java:2024)
      at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:392)
      at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:333)
      at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
      at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
      at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
      at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:756)
      at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:63)
      at com.version1.iib.model.slsb.DataTransferSLSB.findCaseUsingSolasId(DataTransferSLSB.java:259)
      at com.version1.iib.model.slsb.DataTransferSLSB.processCase(DataTransferSLSB.java:331)
      at com.version1.iib.model.slsb.DataTransferSLSB.processCases(DataTransferSLSB.java:231)
      at com.version1.iib.model.slsb.DataTransferSLSB.processCaseMessage(DataTransferSLSB.java:149)
      at sun.reflect.GeneratedMethodAccessor190.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
      at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
      at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
      at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:201)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
      at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
      at $Proxy127.processCaseMessage(Unknown Source)
      at com.version1.iib.model.mdb.DataTransferMDB.onMessage(DataTransferMDB.java:149)
      at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
      at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
      at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
      at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:201)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      at org.jboss.ejb3.mdb.MDB.localInvoke(MDB.java:865)
      at org.jboss.ejb3.mdb.MDB.localInvoke(MDB.java:844)
      at org.jboss.ejb3.mdb.MDB$MessageListenerImpl.onMessage(MDB.java:1074)
      at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:266)
      at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:902)
      at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
      at org.jboss.mq.SpySession.run(SpySession.java:323)
      at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: java.sql.SQLException: Io exception: Socket is not connected
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
      at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
      at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:420)
      at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:165)
      at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
      at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
      at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297)
      at oracle.jdbc.xa.client.OracleXADataSource.getPooledConnection(OracleXADataSource.java:472)
      at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:159)
      at oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.java:133)
      at org.jboss.resource.adapter.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:145)
      ... 83 more

        • 1. Re: Exception: Unable to fill pool
          Weston M. Price Master

          This is a driver level error most likelly caused by something in your RAC configuration. JBoss is telling you that on connection creation something fails.

           nested throwable: (java.sql.SQLException: Io exception: Socket is not connected)
          


          Since it doesn't show up in your test environment the obvious cause is RAC. You will need to verify your settings against Oracle's documentation. There is no 'rule of thumb' guildlines we offer for this type of config as it is different from environment to environment.



          • 2. Re: Exception: Unable to fill pool
            rhino247365 Newbie

            Weston, is the recent entry in

            http://wiki.jboss.org/wiki/Wiki.jsp?page=SetUpAOracleDatasource

            related to this? Still having intermittent connection problems (JBoss 4.0.4.GA - Oracle RAC), but I don't have the failover/loadbalance options set in my connection url - would this make a difference?

            Here is my current line:
            <xa-datasource-property name="URL">jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS = (PROTOCOL=TCP)(HOST=xx.xx.xx.xx)(PORT=1521))(ADDRESS = (PROTOCOL=TCP)(HOST=xx.xx.xx.xx)(PORT=1521))(LOAD_BALANCE=YES)(CONNECT_DATA =(SERVER=DEDICATED)(SERVICE_NAME = my_servicename)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=5)(DELAY=1))))</xa-datasource-property>

            About to try adding failover/loadbalance props.

            • 3. Re: Exception: Unable to fill pool
              rhino247365 Newbie

              The default is for loadbalancing and failover to be on, addresslist is old syntax, just use DESCRIPTION.

              Problem Resolved -
              Due to Oracle bug 4338578, the public hostname was being returned to clients instead of the virtualhost name.
              This resulted in intermittent ORA-12545 errors.

              Thanks anyway.

              • 4. Could not enlist in transaction on entering meta-aware objec
                Alejandro Suarez Newbie

                Hi all.

                In my application i have two PersistenceUnits in Persistence.xml, two datasource configuration files:

                Datasource 1:


                <local-tx-datasource>
                <jndi-name>gekDatasource</jndi-name>
                <connection-url>jdbc:oracle:thin:@hp06a:1521:ddiv01</connection-url>
                <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
                <user-name>mdbgekgen</user-name>
                mdbgekgen
                <min-pool-size>10</min-pool-size>
                <max-pool-size>50</max-pool-size>
                </local-tx-datasource>


                Datasource 2:

                datasources>
                <local-tx-datasource>
                <jndi-name>filevalDatasource</jndi-name>
                <connection-url>jdbc:oracle:thin:@hp06a:1521:ddiv01</connection-url>
                <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
                <user-name>fileval</user-name>
                fileval
                <min-pool-size>10</min-pool-size>
                <max-pool-size>50</max-pool-size>
                </local-tx-datasource>


                and... in runtime, i get the following exception:

                WARN [loggerI18N] [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow] Adding multiple last resources is disallowed. Current resource is org.jboss.resource.connectionmanager.TxConnectionMan
                esource@786b4f
                WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
                ERROR [JDBCExceptionReporter] Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: a550f09:1116:492d6371:
                tionStatus.ABORT_ONLY >); - nested throwable: (org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. t
                Imple < ac, BasicAction: a550f09:1116:492d6371:39 status: ActionStatus.ABORT_ONLY >))
                ERROR [RetailoBatchLoadManagerBean] Failure Exception !! IOException: org.hibernate.exception.GenericJDBCException: Cannot open connection
                ERROR [RetailoBatchLoadManagerBean] [Ljava.lang.StackTraceElement;@5ba0d9

                Any help greatly appreciated.
                Thanks.

                • 5. Re: Exception: Unable to fill pool
                  Erik Chakravarty Newbie

                  Did you manage to resolve this issue? Can you please post details as we are seeing the exact same issue with jboss 4.0.5GA and 10g RAC and struggling to find the root cause.

                  Thanks

                  • 7. Re: Exception: Unable to fill pool
                    Vicky Kak Master

                     

                    "bravi1234" wrote:
                    help me

                    You need to read this
                    http://www.catb.org/~esr/faqs/smart-questions.html