1 Reply Latest reply on Jan 5, 2005 1:29 AM by peter

    Unable to fill the pool due to timeout ( 5000 [ms] ) Unable

    peter Apprentice

      Hello,

      My system log this Warning message. I suspect that it is the reason of my system hang. If this happen, the same WARN will repeat every 30 seconds. I can only to restart my server (Jboss-3.2.3).

      Within my stateless session bean method(transaction required), postgresql database is access by container managed entity beans. In addition, within this method, a JCA connection sending is invoked which involve the internet. To prevent the invocation thread hangs indefinitely, the JCA adaptor (i wrote myself) sending method will return if the waiting time reach 20 seconds(because i use another thread to do the real internet functions). That is to say, my session bean method always return(maximum 20 seconds when internet has problem).

      QUESTION:

      (1)I am wondering whether the 20 seconds is too long for my session bean method because the entity bean is used?????(<blocking-timeout-millis>5000</blocking-timeout-millis> is used currently).

      (2)Does this mean the whole transaction(the whole stateless bean method) must be completed within <blocking-timeout-millis> if CMP is invoked? Otherwise, the above WARN will be logged? What time the connection will be returned back to the database connection pool? Until the transaction is completed?

      (3)Notice:the timestamp logged in the following 2005-01-04 08:31:18 and 2005-01-04 08:31:23. The difference is 5 seconds exactly.

      (4)How to solve this problem? Should i change to <blocking-timeout-millis>21000</blocking-timeout-millis> in my postgresql-ds.xml file so that it is longer than 20 seconds?


      Thanks very much!

      Yang
      ------------------Log message-----------------
      2005-01-04 08:31:18,057 DEBUG [com.insigma.globalsms.ejb.SMSSenderEJB] getSMSRoutes() is called
      2005-01-04 08:31:18,057 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCJBossQLQuery.RouteEntityEJB#findByCountrycode] Executing S
      QL: SELECT DISTINCT t0_o.countrycode, t0_o.prefix, t0_o.priority, t0_o.countrycode, t0_o.prefix, t0_o.priority, t0_o.jndi, t
      0_o.credit, t0_o.priority FROM smsroute1 t0_o WHERE ((t0_o.countrycode = ?)) ORDER BY t0_o.priority DESC
      2005-01-04 08:31:18,104 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByPrimaryKeyQuery.RouteEntityEJB#findByPrimaryKey] Exe
      cuting SQL: SELECT countrycode, prefix, priority FROM smsroute1 WHERE countrycode=? AND prefix=? AND priority=?
      2005-01-04 08:31:18,105 DEBUG [com.insigma.globalsms.ejb.SMSSenderEJB] getSMSRoutes() is returned
      2005-01-04 08:31:18,105 DEBUG [com.insigma.smsgw.impl.mweb.SMSConnectionFactoryImpl] getConnection() is called
      2005-01-04 08:31:18,106 DEBUG [com.insigma.smsgw.impl.mweb.SMSManagedConnectionFactory] createManagedConnection() is called,
      subject=null, info=[SMSRequestInfo]
      2005-01-04 08:31:18,106 DEBUG [com.insigma.smsgw.impl.mweb.SMSManagedConnection] ctor, fsInfo=[SMSRequestInfo]
      2005-01-04 08:31:18,106 DEBUG [ie.omk.smpp.net.SmscLink] autoFlush set to true
      2005-01-04 08:31:18,106 INFO [ie.omk.smpp.Connection] Binding to the SMSC as type 1
      2005-01-04 08:31:18,106 INFO [ie.omk.smpp.Connection] Opening network link.
      2005-01-04 08:31:18,106 INFO [ie.omk.smpp.net.SmscLink] Opening TCP socket to /196.4.93.150:9270
      2005-01-04 08:31:18,358 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval:
      30000
      2005-01-04 08:31:18,358 DEBUG [org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory] Using properties: {user=
      postgres, password=}
      2005-01-04 08:31:18,555 DEBUG [ie.omk.smpp.net.SmscLink] IN buffer size: -1
      2005-01-04 08:31:18,555 DEBUG [ie.omk.smpp.net.SmscLink] OUT buffer size: -1
      2005-01-04 08:31:18,555 INFO [ie.omk.smpp.Connection] Setting state 1
      2005-01-04 08:31:19,129 DEBUG [ie.omk.smpp.Connection] Packet Received: id:80000002 len:17 st:0 sq:1
      2005-01-04 08:31:19,129 INFO [ie.omk.smpp.Connection] Setting state 2
      2005-01-04 08:31:19,129 INFO [ie.omk.smpp.Connection] setInterfaceVersion SMPP version 3.3
      2005-01-04 08:31:19,129 INFO [com.insigma.smsgw.impl.mweb.SMSManagedConnection] Bind successful.
      2005-01-04 08:31:19,129 DEBUG [com.insigma.smsgw.impl.mweb.SMSManagedConnection] addConnectionEventListener() is called, lis
      tener=org.jboss.resource.connectionmanager.NoTxConnectionManager$NoTxConnectionEventListener@a94c03
      2005-01-04 08:31:19,129 DEBUG [com.insigma.smsgw.impl.mweb.SMSManagedConnection] getConnection() is called, subject=null, in
      fo=[SMSRequestInfo]
      2005-01-04 08:31:19,130 DEBUG [com.insigma.smsgw.impl.mweb.SMSConnectionImpl] sendTextMessage() is called
      2005-01-04 08:31:19,130 DEBUG [com.insigma.smsgw.impl.mweb.SMSManagedConnection] sendTextMessage() is called
      2005-01-04 08:31:19,130 DEBUG [com.insigma.smsgw.impl.mweb.SendingRunnable] run() is called
      2005-01-04 08:31:19,130 DEBUG [com.insigma.smsgw.impl.mweb.SMPPConnection] smppSendTextMessage() is called
      2005-01-04 08:31:19,130 DEBUG [com.insigma.smsgw.impl.mweb.SMPPConnection] ISO-8859-1
      2005-01-04 08:31:23,368 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Unable to fill the pool due
      to timeout ( 5000 [ms] )

        • 1. Unable to fill the pool due to timeout ( 5000 [ms] ) happen
          peter Apprentice

          Hi,

          The problem happen again today!

          When such a problem happen, i found that two factors exist:

          (1) my jca connection working thread doesn't return immedialy.
          (2)org.jboss.resource.connectionmanager.IdleRemover try to remove Idle connections.

          So, i suspected that IdleRemover has some problem when it try to remove Idle connection.

          2005-01-04 08:31:18,358 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval:

          2005-01-04 08:31:23,368 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Unable to fill the pool due to timeout ( 5000 [ms] )
          Please help!

          Yang