ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Håkon Sagehaug" <hsageh...@gmail.com>
Subject Re: Changing the mysql db schema
Date Thu, 05 Jun 2008 08:15:57 GMT
Hi Alex,

Thanks for the replay. We are in a face in a project to see if bpel can be
useful for orchestrating bioinformatics analysis, so I'm not very familiar
with bpel yet. Some of the web services we call returns somewhat large
datasets

See in line

2008/6/4 Alex Boisvert <boisvert@intalio.com>:

> Hi Håkon,
>
> I'm speculating because we don't have all the details, but here's a likely
> scenario.
>
> 1) client sends request to process

Yes

>
> 2) process executes and calls many services which takes a good amount of
> time

the process only calls one web service

>
> 3) client times out because it hasn't received a response in X seconds  (X
> being in the range of 60-180 seconds)

That might be, as I said, normally it works fine when not having bpel
involved

>
> 4) process tries to send back response but gets an exception because the
> network socket has been closed.
>
That might be the error



>
> Generally speaking, the solutions to this problem are to either:
>
> 1) shorten the execution time of the process during the request-response
> message exchange (change the process design or optimize)
> 2) break the message exchange into two asynchronous messages exchanges
> (one-way's);  this increases complexity because you'll need correlation and
> a client that supports asynchronous exchanges
> 3) use a connectionless transport (e.g. JMS) that doesn't timeout or has
> longer timeout
> 4) increase the network timeout of the client

I increaced the time out on my client and it seems to work so thanks for the
tip

By the way, do pyu know of any other projects that have used bpel/ode for
bio informatics ??

cheers, Håkon

>
>
> Hope this helps,
> alex
>
>
> On Wed, Jun 4, 2008 at 2:28 AM, Håkon Sagehaug <hsagehaug@gmail.com>
> wrote:
>
> > Hi
> >
> > Any hints on how ot solve this issue, I still can't figure it out.
> >
> > cheers, Håkon
> >
> > 2008/6/2 Håkon Sagehaug <hsagehaug@gmail.com>:
> >
> > > Hi
> > >
> > > Here is some more info about my problem. I seems to me that the client
> > gets
> > > all of the response if I get this message from the tomcat log
> > >
> > > DEBUG - GeronimoLog.debug(66) | Found a header in incoming message,
> > > checking if there are endpoints there.
> > > DEBUG - GeronimoLog.debug(66) | Got service response: <?xml
> version='1.0'
> > > encoding='utf-8'?>
> > >
> > > after <?xml version='1.0' encoding='utf-8'?>  much xml, which is the
> > > correct response from the server
> > >
> > > So the next message that comes is this
> > >
> > > ERROR - GeronimoLog.error(108) |
> > > org.apache.axis2.AxisFault
> > >     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
> > >     at
> > >
> >
> org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:72)
> > >     at
> > >
> >
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:294)
> > >     at
> > >
> >
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:211)
> > >     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
> > >     at
> > >
> >
> org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic(ODEMessageReceiver.java:58)
> > >     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: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:213)
> > >     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:174)
> > >     at
> > >
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
> > >     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:689)
> > >     at java.lang.Thread.run(Thread.java:619)
> > > Caused by: com.ctc.wstx.exc.WstxIOException: null
> > >     at
> > >
> >
> com.ctc.wstx.sw.BaseNsStreamWriter.doWriteEndTag(BaseNsStreamWriter.java:671)
> > >     at
> > >
> >
> com.ctc.wstx.sw.BaseNsStreamWriter.writeEndElement(BaseNsStreamWriter.java:282)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeEndElement(MTOMXMLStreamWriter.java:106)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.util.OMSerializerUtil.serializeEndpart(OMSerializerUtil.java:49)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:793)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> > >     at
> > >
> >
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:237)
> > >     at
> > >
> >
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:225)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> > >     at
> > >
> >
> org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:421)
> > >     at
> > >
> >
> org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:68)
> > >     ... 24 more
> > > Caused by: ClientAbortException:  java.net.SocketException: Broken pipe
> > >     at
> > >
> >
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:366)
> > >     at
> > org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
> > >     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
> > >     at
> > >
> >
> org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
> > >     at
> > > org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
> > >     at
> > >
> >
> org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
> > >     at
> > > java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
> > >     at
> java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
> > >     at com.ctc.wstx.io.UTF8Writer.write(UTF8Writer.java:139)
> > >     at
> > >
> >
> com.ctc.wstx.sw.BufferingXmlWriter.flushBuffer(BufferingXmlWriter.java:1103)
> > >     at
> > >
> >
> com.ctc.wstx.sw.BufferingXmlWriter.fastWriteRaw(BufferingXmlWriter.java:1126)
> > >     at
> > >
> >
> com.ctc.wstx.sw.BufferingXmlWriter.writeEndTag(BufferingXmlWriter.java:770)
> > >     at
> > >
> >
> com.ctc.wstx.sw.BufferingXmlWriter.writeEndTag(BufferingXmlWriter.java:789)
> > >     at
> > >
> >
> com.ctc.wstx.sw.BaseNsStreamWriter.doWriteEndTag(BaseNsStreamWriter.java:669)
> > >     ... 42 more
> > > Caused by: java.net.SocketException: Broken pipe
> > >     at java.net.SocketOutputStream.socketWrite0(Native Method)
> > >     at
> > java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> > >     at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> > >     at
> > >
> >
> org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:747)
> > >     at
> > org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
> > >     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
> > >     at
> > >
> >
> org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:770)
> > >     at
> > >
> >
> org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
> > >     at
> > >
> >
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:580)
> > >     at org.apache.coyote.Response.doWrite(Response.java:560)
> > >     at
> > >
> >
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361)
> > >     ... 55 more
> > >
> > >
> > > I'm not sure where the error is thrown from. I can call the server
> > through
> > > axis2 generated client and through servicemix using apache cxf. I there
> > some
> > > way of setting the client to not time out?
> > >
> > > Any hints
> > >
> > > cheers, Håkon
> > >
> > > 2008/5/30 Alex Boisvert <boisvert@intalio.com>:
> > >
> > > Actually, this exception is not related to the database but more on the
> > >> HTTP
> > >> connection side.  Maybe the client timed out already?   This
> stacktrace
> > >> fragment doesn't tell me when the exception happened (within the
> > >> process/activity)
> > >>
> > >> If you have large messages, the response time is often affected
> because
> > of
> > >> the additional latency involved in shipping and persisting the data to
> > the
> > >> persistence layer.
> > >>
> > >> alex
> > >>
> > >>
> > >> On Fri, May 30, 2008 at 12:18 AM, Håkon Sagehaug <hsagehaug@gmail.com
> >
> > >> wrote:
> > >>
> > >> > Hi
> > >> >
> > >> > I got rid of the exception regarding the datatype, but got another
> > this
> > >> one
> > >> >
> > >> > Caused by: java.net.SocketException: Broken Pipe
> > >> >    at java.net.SocketOutputStream.socketWrite0(Native Method)
> > >> >    at
> > >> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> > >> >    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> > >> >    at
> > >> >
> > >> >
> > >>
> >
> org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:747)
> > >> >    at
> > >> org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
> > >> >    at
> org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
> > >> >    at
> > >> >
> > >> >
> > >>
> >
> org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:770)
> > >> >    at
> > >> >
> > >> >
> > >>
> >
> org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
> > >> >    at
> > >> >
> > >> >
> > >>
> >
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:580)
> > >> >    at org.apache.coyote.Response.doWrite(Response.java:560)
> > >> >    at
> > >> >
> > >> >
> > >>
> >
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361)
> > >> >
> > >> > What I can see this has something to do with mysql, not sure though.
> > Do
> > >> you
> > >> > know how to sove this, is there something to set in the server.xml
> > file
> > >> or
> > >> > something to be set on the mysql server?
> > >> >
> > >> > cheers, Håkon
> > >> >
> > >> > 2008/5/29 Alex Boisvert <boisvert@intalio.com>:
> > >> >
> > >> > > Yes, increasing the size of the text datatype should work.  
The
> > code
> > >> > makes
> > >> > > no assumption on the exact size (within reasonable limits, of
> > course)
> > >> > >
> > >> > > alex
> > >> > >
> > >> > >
> > >> > > On Thu, May 29, 2008 at 6:58 AM, Håkon Sagehaug <
> > hsagehaug@gmail.com>
> > >> > > wrote:
> > >> > >
> > >> > > > Hi
> > >> > > >
> > >> > > > I'm developing a bpel process to call a bioinformatics web
> > service,
> > >> > that
> > >> > > > returns a large message which I get this error when I run
the
> > >> process
> > >> > in
> > >> > > > ode
> > >> > > >
> > >> > > >  org.apache.openjpa.persistence.PersistenceException: Data
> > >> truncation:
> > >> > > Data
> > >> > > > too long for column 'DATA' at row 1 {prepstmnt 19062963
INSERT
> > INTO
> > >> > > > ODE_MESSAGE (MESSAGE_ID, DATA, TYPE, MESSAGE_EXCHANGE_ID)
VALUES
> > (?,
> > >> ?,
> > >> > > ?,
> > >> > > > ?)
> > >> > > >
> > >> > > > Can I change the datatype in the schema from text to medium
text
> > or
> > >> > large
> > >> > > > text without it having any effect on other processes and
table?
> Or
> > >> is
> > >> > it
> > >> > > > some other way of solving this issue. I can call the service
> fine
> > >> but
> > >> > > when
> > >> > > > the message is inserted into the db the exception is thrown
> > >> > > >
> > >> > > > cheers, Håkon
> > >> > > >
> > >> > > > --
> > >> > > > Håkon Sagehaug, Software Developer
> > >> > > > Parallab, Bergen Center for Computational Science (BCCS)
> > >> > > > UNIFOB AS (University of Bergen Research Company)
> > >> > > >
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Håkon Sagehaug, Software Developer
> > >> > Parallab, Bergen Center for Computational Science (BCCS)
> > >> > UNIFOB AS (University of Bergen Research Company)
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Håkon Sagehaug, Software Developer
> > > Parallab, Bergen Center for Computational Science (BCCS)
> > > UNIFOB AS (University of Bergen Research Company)
> > >
> >
> >
> >
> > --
> > Håkon Sagehaug, Software Developer
> > Parallab, Bergen Center for Computational Science (BCCS)
> > UNIFOB AS (University of Bergen Research Company)
> >
>



-- 
Håkon Sagehaug, Software Developer
Parallab, Bergen Center for Computational Science (BCCS)
UNIFOB AS (University of Bergen Research Company)

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