ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Boisvert" <boisv...@intalio.com>
Subject Re: Relates to : Problem with multiple concurrent clients
Date Wed, 28 Nov 2007 23:33:59 GMT
Most likely, yes.  For any kind of performance/benchmarking effort I would
recommend using an external database with good concurrency support (e.g.
MySQL + InnoDB, Oracle, ...) and using the appserver's connection pooling.

The embedded database (Derby) and embedded transaction manager are meant for
quick setup / development / demo type usage.

alex


On 11/28/07, Thilina Gunarathne <csethil@gmail.com> wrote:
>
> Not so surprisingly, I was able to run more than 100 concurrent
> clients when the process is deployed with "in-memory" set to "true"..
>
> This shows that it's the DB layer, which gives us the problems...
>
> thanks,
> Thilina
>
> On Nov 28, 2007 2:31 PM, Thilina Gunarathne <csethil@gmail.com> wrote:
> > BTW I'm running the ODE 1.1 branch with Tomcat 5.5.25.. Attached is my
> process..
> >
> > thanks,
> > Thilina
> >
> >
> > On Nov 28, 2007 2:28 PM, Thilina Gunarathne <csethil@gmail.com> wrote:
> > > Hi all,
> > > I'm also experiencing something similar while running on top of Derby.
> > > The process is simple and it does 3 synchronous request/response web
> > > service calls.  The process works fine for one or two concurrent
> > > invocations.. But it get's screwed up when I do more (eg:5) concurrent
> > > invocations..Some of the clients get  responses, but some do not even
> > > get an error...
> > >
> > > Following is the exception I got on the logs....
> > >
> > > ERROR - GeronimoLog.error(108) | Unexpected exception rolling back
> > > org.apache.geronimo.connector.outbound.LocalXAResource@1757337;
> > > continuing with rollback
> > > javax.transaction.xa.XAException
> > >         at
> org.apache.geronimo.connector.outbound.LocalXAResource.rollback(
> LocalXAResource.java:88)
> > >         at
> org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(
> TransactionImpl.java:589)
> > >         at
> org.apache.geronimo.transaction.manager.TransactionImpl.rollback(
> TransactionImpl.java:474)
> > >         at
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(
> TransactionManagerImpl.java:276)
> > >         at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(
> SimpleScheduler.java:188)
> > >         at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(
> SimpleScheduler.java:339)
> > >         at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(
> SimpleScheduler.java:336)
> > >         at java.util.concurrent.FutureTask$Sync.innerRun(
> FutureTask.java:269)
> > >         at java.util.concurrent.FutureTask.run(FutureTask.java:123)
> > >         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
> ThreadPoolExecutor.java:650)
> > >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:675)
> > >         at java.lang.Thread.run(Thread.java:595)
> > > Caused by: Unable to rollback
> > >         at
> org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(
> ManagedJDBCConnection.java:113)
> > >         at
> org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.rollback
> (AbstractManagedConnection.java:196)
> > >         at
> org.apache.geronimo.connector.outbound.LocalXAResource.rollback(
> LocalXAResource.java:86)
> > >         ... 11 more
> > > Caused by: SQL Exception: No current connection.
> > >         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
> Source)
> > >         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
> Source)
> > >         at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown
> Source)
> > >         at
> org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(Unknown
> > > Source)
> > >         at org.apache.derby.impl.jdbc.EmbedConnection.rollback(Unknown
> Source)
> > >         at
> org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(
> ManagedJDBCConnection.java:111)
> > >         ... 13 more
> > >
> > > Any clues??... Is this an issue with Derby... Or is this because I'm
> > > doing synchrounous calls to external web services..
> > >
> > > Unfortunately my OS is currently screwed up and I cannot install MySql
> > > to test with MySql back end.. Neither I can afford to reinstall the OS
> > > before December due to other work..
> > >
> > > thanks,
> > > Thilina
> > >
> > > PS: I started this new thread cause I thought not to hijack the
> > > original thread, as the causes of the problem might be different..
> > >
> > > On Nov 28, 2007 1:03 PM, Paul Brown <paulrbrown@gmail.com> wrote:
> > > >
> > > > This bit:
> > > >
> > > > Scheduled job failed; jobDetail={type=INVOKE_INTERNAL,
> > > > mexid=hqejbhcnphr2s7en3xcq1k, pid={http://ode/bpel/unit-test}
> > > > HelloWorld2-3}
> > > > java.lang.NullPointerException
> > > >         at
> org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl.getConnection
> > > > (BPELDAOConnectionFactoryImpl.java:63)
> > > >
> > > > Looks interesting.  Either no transaction manager or no
> transaction...?
> > > >
> > > > -- Paul
> > > >
> > > >
> > > > On Nov 28, 2007, at 9:57 AM, Lavanya Ramakrishnan wrote:
> > > >
> > > > > Yes, I am running with the latest version of the branch as of
> > > > > yesterday. I
> > > > > didnt see any errors in the log before the NullPointerException.
> > > > >
> > > > > I have put up the log (with DEBUG on):
> > > > >
> > > > > http://www.cs.indiana.edu/~laramakr/catalina.out
> > > > >
> > > > >
> > > > >
> > > > > On Wed, 28 Nov 2007, Matthieu Riou wrote:
> > > > >
> > > > >> Hi Lavanaya,
> > > > >>
> > > > >> Just to confirm, you are running with the latest version of the
> > > > >> branch,
> > > > >> right?
> > > > >>
> > > > >> There's probably a fault or an exception happening inside the
> > > > >> engine that
> > > > >> causes it to provide an empty reply to the incoming message.
> Could
> > > > >> you check
> > > > >> whether you have a previous fault or exception message in your
> > > > >> logs? Also if
> > > > >> you could provide a full log with debug turned on that would
> help.
> > > > >>
> > > > >> Thanks!
> > > > >> Matthieu
> > > > >>
> > > > >> On Nov 27, 2007 2:21 PM, Lavanya Ramakrishnan
> > > > >> <laramakr@cs.indiana.edu>
> > > > >> wrote:
> > > > >>
> > > > >>> I am running a simple test with multiple concurrent clients
that
> > > > >>> make
> > > > >>> repeated calls to the engine and getting the
> NullPointerException
> > > > >>> below.
> > > > >>>
> > > > >>> My configuration is
> > > > >>>
> > > > >>> Tomcat 5.5.23
> > > > >>> MySQL for backend
> > > > >>> ODE 1.1 subversion branch (only change is the patch Jira
ODE-211
> > > > >>> applied)
> > > > >>>
> > > > >>> Example: HelloWorld
> > > > >>>
> > > > >>> I noticed some previous messages with the same error which
> seemed to
> > > > >>> indicate a problem with the axis-kernel jar. I noticed that
the
> > > > >>> 1.1 branch
> > > > >>> already has the 1.3 jar which is supposed to have fixed the
> problem.
> > > > >>>
> > > > >>> The problem seems to definitely get worse with increasing
> concurrent
> > > > >>> clients. With 5 clients and 50 back to back calls a large
number
> > > > >>> of them
> > > > >>> fail.
> > > > >>>
> > > > >>> Any suggestions will be helpful.
> > > > >>>
> > > > >>> thanks!
> > > > >>> Lavanya
> > > > >>>
> > > > >>> ERROR - GeronimoLog.error(108) | Error processing response
for
> MEX
> > > > >>> {MyRoleMex#hqejbhcnphr2s4q4a7l7qd [Client
> hqejbhcnphr2s4q4a7l7qc]
> > > > >>> calling
> > > > >>> {http://ode/bpel/unit-test.wsdl}HelloService.hello(...)<http://
> > > > >>> ode/bpel/unit-test.wsdl%7DHelloService.hello%28...%29>
> > > > >>> }
> > > > >>> java.lang.NullPointerException: null message!
> > > > >>>        at
> > > > >>> org.apache.ode.bpel.engine.MessageImpl.<init>(MessageImpl.java
> :40)
> > > > >>>        at
> > > > >>> org.apache.ode.bpel.engine.MessageExchangeImpl.getResponse(
> > > > >>> MessageExchangeImpl.java:97)
> > > > >>>        at org.apache.ode.axis2.ODEService.onResponse
> > > > >>> (ODEService.java:226)
> > > > >>>        at
> > > > >>> org.apache.ode.axis2.ODEService.onAxisMessageExchange
> > > > >>> (ODEService.java:172)
> > > > >>>        at
> > > > >>>
> org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(
> > > > >>> ODEMessageReceiver.java:69)
> > > > >>>        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.processHTTPPostRe
> > > > >>> quest(
> > > > >>> HTTPTransportUtils.java:275)
> > > > >>>        at
> > > > >>> org.apache.axis2.transport.http.AxisServlet.doPost
> > > > >>> (AxisServlet.java:120)
> > > > >>>        at javax.servlet.http.HttpServlet.service(
> HttpServlet.java:
> > > > >>> 710)
> > > > >>>        at javax.servlet.http.HttpServlet.service(
> HttpServlet.java:
> > > > >>> 803)
> > > > >>>        at
> > > > >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (
> > > > >>> ApplicationFilterChain.java:269)
> > > > >>>        at
> > > > >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > > > >>> ApplicationFilterChain.java:188)
> > > > >>>        at
> > > > >>> org.apache.catalina.core.StandardWrapperValve.invoke(
> > > > >>> StandardWrapperValve.java:210)
> > > > >>>        at
> > > > >>> org.apache.catalina.core.StandardContextValve.invoke(
> > > > >>> StandardContextValve.java:174)
> > > > >>>        at
> > > > >>> org.apache.catalina.core.StandardHostValve.invoke
> > > > >>> (StandardHostValve.java
> > > > >>> :127)
> > > > >>>        at
> > > > >>> org.apache.catalina.valves.ErrorReportValve.invoke
> > > > >>> (ErrorReportValve.java
> > > > >>> :117)
> > > > >>>        at
> > > > >>> org.apache.catalina.core.StandardEngineValve.invoke(
> > > > >>> StandardEngineValve.java:108)
> > > > >>>        at
> > > > >>> org.apache.catalina.connector.CoyoteAdapter.service
> > > > >>> (CoyoteAdapter.java
> > > > >>> :151)
> > > > >>>        at
> > > > >>> org.apache.coyote.http11.Http11Processor.process
> > > > >>> (Http11Processor.java:870)
> > > > >>>        at
> > > > >>>
> > > > >>> org.apache.coyote.http11.Http11BaseProtocol
> > > > >>> $Http11ConnectionHandler.processConnection
> > > > >>> (Http11BaseProtocol.java:665)
> > > > >>>        at
> > > > >>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> > > > >>> PoolTcpEndpoint.java:528)
> > > > >>>        at
> > > > >>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> > > > >>> LeaderFollowerWorkerThread.java:81)
> > > > >>>        at
> > > > >>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > > > >>> ThreadPool.java:685)
> > > > >>>        at java.lang.Thread.run(Thread.java:595)
> > > > >>>
> > > > >>>
> > > > >>
> > > >
> > > > Paul Brown
> > > > paulrbrown@gmail.com
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Thilina Gunarathne  - http://thilinag.blogspot.com
> > >
> >
> >
> >
> > --
> > Thilina Gunarathne  - http://thilinag.blogspot.com
> >
>
>
>
> --
> Thilina Gunarathne  - http://thilinag.blogspot.com
>

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