ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Milinda Pathirage <milinda.pathir...@gmail.com>
Subject Re: Does ode accept 10 threads at the same time? org.apache.ode.scheduler.simple.DatabaseException
Date Tue, 08 Sep 2009 01:03:56 GMT
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
<ricardo.selecta@gmail.com>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>}
> java.util.concurrent.TimeoutException: Message exchange
> org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@191e630timed out(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>}
> java.util.concurrent.TimeoutException: Message exchange
> org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@191e630timed out(120000
ms) when waiting for a response!&#xd;
>     at
> org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:168)&#xd;
>     at
> org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:67)&#xd;
>     at
> org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:50)&#xd;
>     at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)&#xd;
>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)&#xd;
>     at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)&#xd;
>     at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)&#xd;
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)&#xd;
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&#xd;
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&#xd;
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&#xd;
>     at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)&#xd;
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)&#xd;
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)&#xd;
>     at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&#xd;
>     at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&#xd;
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)&#xd;
>     at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)&#xd;
>     at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)&#xd;
>     at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)&#xd;
>     at java.lang.Thread.run(Unknown Source)&#xd;
> </Exception></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>
>
> On Mon, Sep 7, 2009 at 1:53 PM, Ricardo Pereira <ricardo.selecta@gmail.com
> > wrote:
>
>> Hi Milinda,
>>
>> the version is Apache ODE 1.3.2
>>
>>
>> On Mon, Sep 7, 2009 at 1:44 PM, Milinda Pathirage <
>> milinda.pathirage@gmail.com> 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
>>> <ricardo.selecta@gmail.com>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.&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:148)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:67)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:50)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)&#xd;
>>> >    at
>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)&#xd;
>>> >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)&#xd;
>>> >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)&#xd;
>>> >    at java.lang.Thread.run(Unknown Source)&#xd;
>>> > Caused by: org.apache.ode.bpel.iapi.ContextException: Database
>>> error.&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:307)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:264)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl.invoke(MyRoleMessageExchangeImpl.java:153)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:128)&#xd;
>>> >    ... 20 more&#xd;
>>> > Caused by: org.apache.ode.scheduler.simple.DatabaseException:
>>> > java.sql.SQLException&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.scheduler.simple.JdbcDelegate.insertJob(JdbcDelegate.java:155)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(SimpleScheduler.java:288)&#xd;
>>> >    ... 23 more&#xd;
>>> > Caused by: java.sql.SQLException&#xd;
>>> >    at
>>> >
>>> org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:61)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.scheduler.simple.JdbcDelegate.getConnection(JdbcDelegate.java:248)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.ode.scheduler.simple.JdbcDelegate.insertJob(JdbcDelegate.java:138)&#xd;
>>> >    ... 24 more&#xd;
>>> > Caused by: No ManagedConnections available within configured blocking
>>> > timeout ( 30000 [ms] ) for pool
>>> >
>>> >
>>> org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor@1f06d35
>>> > &#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:80)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:46)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:88)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)&#xd;
>>> >    at
>>> >
>>> >
>>> org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:87)&#xd;
>>> >    at
>>> >
>>> org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56)&#xd;
>>> >    ... 26 more&#xd;
>>> > </Exception></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>
>>> >
>>> > On Mon, Sep 7, 2009 at 12:12 PM, Milinda Pathirage <
>>> > milinda.pathirage@gmail.com> 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
>>> > > <ricardo.selecta@gmail.com>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.SinglePoolConnectionInterceptor@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: milinda@wso2.com, milinda.pathirage@gmail.com
>>> > > 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: milinda@wso2.com, milinda.pathirage@gmail.com
>>> Blog: http://mpathirage.com
>>>
>>
>>
>


-- 
Milinda Pathirage
Senior Software Engineer & Project Lead; WSO2 BPS; http://wso2.org/bps
WSO2 Inc.; http://wso2.com
E-mail: milinda@wso2.com, milinda.pathirage@gmail.com
Blog: http://mpathirage.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message