Hello Milinda, I think that increasing time out its not a good idea because with one invocation the process ran in about 1,5s when i ran it using 9 invocations it takes much more, about 80 secs. When I invoke it using 10 requests it gives that Lock problems. I'm using this in a SOA so this transactions has to be fast.
The other sugestion you said can probably help but i don't know how to increase the number of connections of the connection pool. How can i do it? Do you have any more ideas? Thanks for your support Ricardo On Tue, Sep 8, 2009 at 2:03 AM, Milinda Pathirage < [email protected]> wrote: > Hi Ricardo, > > I didn't have time to look at your problem yesterday. I'll look at it > today. > It seems to me that it's a problem with JDBC connection pool. Application > wait for 30000ms and no JDBC connection was available because all the > connections in the pool are checked out to other threads. You can try to > solve this by increasing time out or increasing number of connections in > connection pool. > > Thanks > Milinda > > On Mon, Sep 7, 2009 at 11:12 PM, Ricardo Pereira > <[email protected]>wrote: > > > Milinda, i tried again to invoke the process using Jmeter. It seems to be > > some problem with the Locks, and now didn't give the database error > > exception. The exception returned is below. I'm sending in attach the log > > file of this invocation. > > > > I don't know if I understood about the Derby DB. Could you me more > precise? > > > > I apreciate your help > > thanks > > > > PS: If you can't receive the log file in attach tell me a way to send it > to > > you. > > > > <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv=" > > http://schemas.xmlsoap.org/soap/envelope/"> > > <soapenv:Body> > > <soapenv:Fault xmlns:soapenv="http://incubator.apache.org/ode"> > > <faultcode>soapenv:Fault</faultcode> > > <faultstring>Timeout or execution error when waiting for response > > to MEX {MyRoleMex#hqejbhcnphr4ko4i9c6o9i [Client hqejbhcnphr4ko4i9c6o9h] > > calling { > > > http://j2ee.netbeans.org/wsdl/ProcessosCadastrais/actualizarIMIWSDL}actualizarIMIWSDLService.actualizarIMI(...)<http://j2ee.netbeans.org/wsdl/ProcessosCadastrais/actualizarIMIWSDL%7DactualizarIMIWSDLService.actualizarIMI%28...%29> > < > http://j2ee.netbeans.org/wsdl/ProcessosCadastrais/actualizarIMIWSDL%7DactualizarIMIWSDLService.actualizarIMI%28...%29 > >} > > java.util.concurrent.TimeoutException: Message exchange > > > org.apache.ode.bpel.engine.myrolemessageexchangeimpl$responsefut...@191e630timedout(120000 > ms) when waiting for a > > response!</faultstring><detail><Exception>org.apache.ode.axis2.OdeFault: > > Timeout or execution error when waiting for response to MEX > > {MyRoleMex#hqejbhcnphr4ko4i9c6o9i [Client hqejbhcnphr4ko4i9c6o9h] calling > { > > > http://j2ee.netbeans.org/wsdl/ProcessosCadastrais/actualizarIMIWSDL}actualizarIMIWSDLService.actualizarIMI(...)<http://j2ee.netbeans.org/wsdl/ProcessosCadastrais/actualizarIMIWSDL%7DactualizarIMIWSDLService.actualizarIMI%28...%29> > < > http://j2ee.netbeans.org/wsdl/ProcessosCadastrais/actualizarIMIWSDL%7DactualizarIMIWSDLService.actualizarIMI%28...%29 > >} > > java.util.concurrent.TimeoutException: Message exchange > > > org.apache.ode.bpel.engine.myrolemessageexchangeimpl$responsefut...@191e630timedout(120000 > ms) when waiting for a response!
 > > at > > > org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:168)
 > > at > > > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:67)
 > > at > > > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:50)
 > > at > > > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
 > > at > org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
 > > at > > > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
 > > at > > > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
 > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 > > at > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 > > at > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 > > at > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 > > at > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 > > at > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 > > at > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 > > at > > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
 > > at > > > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 > > at > > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 > > at java.lang.Thread.run(Unknown Source)
 > > </Exception></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope> > > > > On Mon, Sep 7, 2009 at 1:53 PM, Ricardo Pereira < > [email protected] > > > wrote: > > > >> Hi Milinda, > >> > >> the version is Apache ODE 1.3.2 > >> > >> > >> On Mon, Sep 7, 2009 at 1:44 PM, Milinda Pathirage < > >> [email protected]> wrote: > >> > >>> Hi Ricardo, > >>> > >>> Can you tell me the ODe version you used for the test. 1.3 or trunk? > >>> > >>> Thanks, > >>> Milinda > >>> > >>> On Mon, Sep 7, 2009 at 5:32 PM, Ricardo Pereira > >>> <[email protected]>wrote: > >>> > >>> > No, i'm not using Derby DB, its just a process that invokes a web > >>> service. > >>> > I > >>> > tested the web service also with 10 requests with jmeter and the > >>> responses > >>> > were positive, no problem. When i send 10 requests to ODE it gives > >>> these > >>> > errors and the response of the process is below. > >>> > > >>> > Any idea? If you want more info, ask me. > >>> > > >>> > > >>> > <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope > xmlns:soapenv=" > >>> > http://schemas.xmlsoap.org/soap/envelope/ > >>> "><soapenv:Body><soapenv:Fault > >>> > xmlns:java="java:package > >>> > > >>> > > >>> > org.apache.ode.bpel.iapi"><faultcode>java:org.apache.ode.bpel.iapi.ContextException</faultcode><faultstring>Database > >>> > error.</faultstring><detail><Exception>org.apache.ode.axis2.OdeFault: > >>> > Database error.
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:148)
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:67)
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:50)
 > >>> > at > >>> > > >>> > > >>> > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
 > >>> > at > >>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
 > >>> > at > >>> > > >>> > > >>> > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
 > >>> > at > >>> > > >>> > > >>> > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
 > >>> > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 > >>> > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 > >>> > at > >>> > > >>> > > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 > >>> > at > >>> > > >>> > > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 > >>> > at > >>> > > >>> > > >>> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 > >>> > at > >>> > > >>> > > >>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 > >>> > at > >>> > > >>> > > >>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 > >>> > at > >>> > > >>> > > >>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 > >>> > at > >>> > > >>> > > >>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 > >>> > at > >>> > > >>> > > >>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 > >>> > at > >>> > > >>> > > >>> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
 > >>> > at > >>> > > >>> > > >>> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 > >>> > at > >>> > > >>> > > >>> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 > >>> > at java.lang.Thread.run(Unknown Source)
 > >>> > Caused by: org.apache.ode.bpel.iapi.ContextException: Database > >>> error.
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:307)
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:264)
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessageExchangeImpl.java:153)
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:128)
 > >>> > ... 20 more
 > >>> > Caused by: org.apache.ode.scheduler.simple.DatabaseException: > >>> > java.sql.SQLException
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.scheduler.simple.JdbcDelegate.insertJob(JdbcDelegate.java:155)
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:288)
 > >>> > ... 23 more
 > >>> > Caused by: java.sql.SQLException
 > >>> > at > >>> > > >>> > org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:61)
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.scheduler.simple.JdbcDelegate.getConnection(JdbcDelegate.java:248)
 > >>> > at > >>> > > >>> > > >>> > org.apache.ode.scheduler.simple.JdbcDelegate.insertJob(JdbcDelegate.java:138)
 > >>> > ... 24 more
 > >>> > Caused by: No ManagedConnections available within configured blocking > >>> > timeout ( 30000 [ms] ) for pool > >>> > > >>> > > >>> > org.apache.geronimo.connector.outbound.singlepoolconnectionintercep...@1f06d35 > >>> > 
 > >>> > at > >>> > > >>> > > >>> > org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:80)
 > >>> > at > >>> > > >>> > > >>> > org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:46)
 > >>> > at > >>> > > >>> > > >>> > org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:88)
 > >>> > at > >>> > > >>> > > >>> > org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)
 > >>> > at > >>> > > >>> > > >>> > org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)
 > >>> > at > >>> > > >>> > > >>> > org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)
 > >>> > at > >>> > > >>> > > >>> > org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:87)
 > >>> > at > >>> > > >>> > org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56)
 > >>> > ... 26 more
 > >>> > > </Exception></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope> > >>> > > >>> > On Mon, Sep 7, 2009 at 12:12 PM, Milinda Pathirage < > >>> > [email protected]> wrote: > >>> > > >>> > > Hi Ricardo, > >>> > > > >>> > > Are you using embedded Derby DB for this test? According to my > >>> experience > >>> > > embedded Derby database is not suitable for this type of scenarios. > >>> It's > >>> > > better to use external DB like MySQL for testing. Also it's better > to > >>> use > >>> > > data source support provide by your application server. > >>> > > > >>> > > Thanks > >>> > > Milinda > >>> > > > >>> > > On Mon, Sep 7, 2009 at 3:11 PM, Ricardo Pereira > >>> > > <[email protected]>wrote: > >>> > > > >>> > > > Hello, > >>> > > > > >>> > > > I'm using jmeter to send 10 request almost at the same time to > test > >>> the > >>> > > > scalability of a process deployed in ODE. Unfortunately i'm > getting > >>> > these > >>> > > > exceptions in the log. > >>> > > > If i run the test in different times the process runs in about 2 > >>> secs. > >>> > > > > >>> > > > How can I make ODE accept 10 threads at the same time? > >>> > > > > >>> > > > I hope for an answer as soon as you can please. > >>> > > > > >>> > > > Thank you very much for the support. > >>> > > > Ricardo > >>> > > > > >>> > > > > >>> > > > ERROR - GeronimoLog.error(108) | Database error. > >>> > > > org.apache.ode.scheduler.simple.DatabaseException: > >>> > java.sql.SQLException > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.scheduler.simple.JdbcDelegate.insertJob(JdbcDelegate.java:155) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:288) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:264) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessageExchangeImpl.java:153) > >>> > > > at > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:128) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:67) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:50) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96) > >>> > > > at > >>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) > >>> > > > at > >>> > > > > >>> > > >>> > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120) > >>> > > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > >>> > > > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >>> > > > at > >>> > > > > >>> > > > >>> > > >>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > >>> > > > at > >>> > > > > >>> > > > >>> > > >>> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > >>> > > > at > >>> > > > > >>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > >>> > > > at java.lang.Thread.run(Unknown Source) > >>> > > > Caused by: java.sql.SQLException > >>> > > > at > >>> > > > > >>> org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:61) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.scheduler.simple.JdbcDelegate.getConnection(JdbcDelegate.java:248) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.ode.scheduler.simple.JdbcDelegate.insertJob(JdbcDelegate.java:138) > >>> > > > ... 24 more > >>> > > > Caused by: No ManagedConnections available within configured > >>> blocking > >>> > > > timeout ( 30000 [ms] ) for pool > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.geronimo.connector.outbound.singlepoolconnectionintercep...@1f06d35 > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:80) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:46) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:88) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66) > >>> > > > at > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:87) > >>> > > > at > >>> > > > > >>> org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56) > >>> > > > ... 26 more > >>> > > > > >>> > > > >>> > > > >>> > > > >>> > > -- > >>> > > Milinda Pathirage > >>> > > Senior Software Engineer & Project Lead; WSO2 BPS; > >>> http://wso2.org/bps > >>> > > WSO2 <http://wso2.org/bps%0AWSO2> Inc.; http://wso2.com > >>> > > E-mail: [email protected], [email protected] > >>> > > Blog: http://mpathirage.com > >>> > > > >>> > > >>> > >>> > >>> > >>> -- > >>> Milinda Pathirage > >>> Senior Software Engineer & Project Lead; WSO2 BPS; > >>> http://wso2.org/bps > >>> WSO2 <http://wso2.org/bps%0AWSO2> Inc.; http://wso2.com > >>> E-mail: [email protected], [email protected] > >>> Blog: http://mpathirage.com > >>> > >> > >> > > > > > -- > Milinda Pathirage > Senior Software Engineer & Project Lead; WSO2 BPS; http://wso2.org/bps > WSO2 <http://wso2.org/bps%0AWSO2> Inc.; http://wso2.com > E-mail: [email protected], [email protected] > Blog: http://mpathirage.com >
