Unable to fill the pool due to timeout ( 5000 [ms] ) Unable
yxyang Jan 3, 2005 11:03 PMHello,
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] )