You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Alex Boisvert <bo...@intalio.com> on 2009/03/26 20:01:38 UTC

Re: Invoke timeout -> A truncation error was encountered trying to shrink VARCHAR

You may want to ALTER ODE_MESSAGE_EXCHANGE and set the FAILURE field to a
varchar(4000) or anything larger than 256.

alex


On Thu, Mar 26, 2009 at 8:08 AM, Nadège Griesser
<na...@1und1.de>wrote:

> Hi,
>
> We are trying to handle timeouts in a BPEL process that invokes a
> service.
>
> When the apache server (where the service is) is shut down, the status
> of the Invoke activity becomes FAILURE. -> That's OK.
>
> When the apache server is started, but the service not deployed, we get
> a timeout. The status of the Invoke activity remains STARTED and the
> stacktrace below is displayed. -> We do not get any failure but a
> database problem occurs.
> Is there a way to catch this timeout in order to recover the activity
> later?
>
>
> DEBUG - GeronimoLog.debug(66) | Sending a message containing wsa
> endpoints in headers for session passing.
> DEBUG - GeronimoLog.debug(66) | <?xml version='1.0'
> encoding='utf-8'?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><addr:To
> xmlns:addr="http://www.w3.org/2005/08/addressing">
> http://localhost:8081/HelloWorldServices/services/EnglishHelloWorldService</addr:To><addr:Action
> xmlns:addr="http://www.w3.org/2005/08/addressing">getMessage</addr:Action><addr:ReplyTo
> xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>
> http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo><addr:MessageID
> xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr45bn3bxcvnb</addr:MessageID></soapenv:Header><soapenv:Body
> /></soapenv:Envelope>
> ERROR - GeronimoLog.error(108) | Error sending message
> (mex={PartnerRoleMex#hqejbhcnphr45bn3bxcvna [PID
> {
> http://www.se.uni-hannover.de/soa08/tutorial/DynamicInvokeProcess}DynamicInvokeProcess-4<http://www.se.uni-hannover.de/soa08/tutorial/DynamicInvokeProcess%7DDynamicInvokeProcess-4>]
> calling org.apache.ode.bpel.epr.WSAEndpoint@12a9743.getMessage(...)}):
> Transport error: 404 Error: Not Found
> org.apache.axis2.AxisFault: Transport error: 404 Error: Not Found
>        at
>
> org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:298)
>        at
> org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:192)
>        at
> org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
>        at
>
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:327)
>        at
>
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
>        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
>        at
>
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374)
>        at
>
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
>        at
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
>        at org.apache.ode.axis2.SoapExternalService$1
> $1.call(SoapExternalService.java:162)
>        at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>        at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>        at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:603)
>        at java.lang.Thread.run(Thread.java:636)
> DEBUG - GeronimoLog.debug(66) | replyWithFailure
> mex=hqejbhcnphr45bn3bxcvna failureType=COMMUNICATION_ERROR
> description=Error sending message
> (mex={PartnerRoleMex#hqejbhcnphr45bn3bxcvna [PID
> {
> http://www.se.uni-hannover.de/soa08/tutorial/DynamicInvokeProcess}DynamicInvokeProcess-4<http://www.se.uni-hannover.de/soa08/tutorial/DynamicInvokeProcess%7DDynamicInvokeProcess-4>]
> calling org.apache.ode.bpel.epr.WSAEndpoint@12a9743.getMessage(...)}):
> Transport error: 404 Error: Not Found details=null
> DEBUG - GeronimoLog.debug(66) | create work event for
> mex=hqejbhcnphr45bn3bxcvna
> WARN - GeronimoLog.warn(96) | connectionErrorOccurred called with null
> java.sql.SQLDataException: A truncation error was encountered trying to
> shrink VARCHAR 'Error sending message
> (mex={PartnerRoleMex#hqejbhcnphr45bn3b&' to length 255.
>        at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
> Source)
>        at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
> Source)
>        at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
> Source)
>        at
> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
> Source)
>        at
> org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
> Source)
>        at
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
> Source)
>        at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
> Source)
>        at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown
> Source)
>        at
>
> org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103)
>        at
>
> org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
>        at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator
> $LoggingConnection
>
> $LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:864)
>        at
>
> org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
>        at org.apache.openjpa.jdbc.kernel.JDBCStoreManager
> $CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1398)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120)
>        at
>
> org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:82)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72)
>        at
>
> org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:543)
>        at
>
> org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106)
>        at
>
> org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:56)
>        at
>
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
>        at
>
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
>        at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:549)
>        at
>
> org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
>        at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2007)
>        at
> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1905)
>        at
> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1823)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:514)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:498)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:257)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238)
>        at
>
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:181)
>        at org.apache.ode.scheduler.simple.SimpleScheduler
> $1.call(SimpleScheduler.java:155)
>        at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>        at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>        at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:603)
>        at java.lang.Thread.run(Thread.java:636)
> Caused by: java.sql.SQLException: A truncation error was encountered
> trying to shrink VARCHAR 'Error sending message
> (mex={PartnerRoleMex#hqejbhcnphr45bn3b&' to length 255.
>        at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
> Source)
>        at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
> Source)
>        ... 41 more
> Caused by: ERROR 22001: A truncation error was encountered trying to
> shrink VARCHAR 'Error sending message
> (mex={PartnerRoleMex#hqejbhcnphr45bn3b&' to length 255.
>        at
> org.apache.derby.iapi.error.StandardException.newException(Unknown
> Source)
>        at org.apache.derby.iapi.types.SQLChar.hasNonBlankChars(Unknown
> Source)
>        at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source)
>        at org.apache.derby.iapi.types.SQLVarchar.normalize(Unknown Source)
>        at org.apache.derby.iapi.types.DataTypeDescriptor.normalize(Unknown
> Source)
>        at
> org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(Unknown
> Source)
>        at
> org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown
> Source)
>        at
> org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown
> Source)
>        at
> org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(Unknown
> Source)
>        at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown
> Source)
>        at
> org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
> Source)
>        ... 35 more
> WARN - GeronimoLog.warn(96) | Unexpected exception from
> beforeCompletion; transaction will roll back
> <openjpa-1.1.0-r422266:657916 fatal general error>
> org.apache.openjpa.persistence.PersistenceException: The transaction has
> been rolled back.  See the nested exceptions for details on the errors
> that occurred.
>        at
>
> org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2160)
>        at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2007)
>        at
> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1905)
>        at
> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1823)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:514)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:498)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:257)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238)
>        at
>
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:181)
>        at org.apache.ode.scheduler.simple.SimpleScheduler
> $1.call(SimpleScheduler.java:155)
>        at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>        at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>        at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:603)
>        at java.lang.Thread.run(Thread.java:636)
> Caused by: <openjpa-1.1.0-r422266:657916 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: A truncation error
> was encountered trying to shrink VARCHAR 'Error sending message
> (mex={PartnerRoleMex#hqejbhcnphr45bn3b&' to length 255. {prepstmnt
> 28736225 UPDATE ODE_MESSAGE_EXCHANGE SET FAULT_EXPLANATION = ?, STATUS
> = ? WHERE MESSAGE_EXCHANGE_ID = ? [params=(String) Error sending message
> (mex={PartnerRoleMex#hqejbhcnphr45bn3bxcvna [P..., (String) FAILURE,
> (String) hqejbhcnphr45bn3bxcvna]} [code=20000, state=22001]
> FailedObject:
> org.apache.ode.dao.jpa.MessageExchangeDAOImpl-hqejbhcnphr45bn3bxcvna
>        at
> org.apache.openjpa.jdbc.sql.SQLExceptions.narrow(SQLExceptions.java:146)
>        at
>
> org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4150)
>        at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
>        at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:72)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:131)
>        at
>
> org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:82)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72)
>        at
>
> org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:543)
>        at
>
> org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106)
>        at
>
> org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:56)
>        at
>
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
>        at
>
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
>        at
>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:549)
>        at
>
> org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
>        ... 15 more
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: A
> truncation error was encountered trying to shrink VARCHAR 'Error sending
> message (mex={PartnerRoleMex#hqejbhcnphr45bn3b&' to length 255.
> {prepstmnt 28736225 UPDATE ODE_MESSAGE_EXCHANGE SET FAULT_EXPLANATION
> = ?, STATUS = ? WHERE MESSAGE_EXCHANGE_ID = ? [params=(String) Error
> sending message (mex={PartnerRoleMex#hqejbhcnphr45bn3bxcvna [P...,
> (String) FAILURE, (String) hqejbhcnphr45bn3bxcvna]} [code=20000,
> state=22001]
>        at
>
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
>        at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access
> $700(LoggingConnectionDecorator.java:57)
>        at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator
> $LoggingConnection
>
> $LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:866)
>        at
>
> org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
>        at org.apache.openjpa.jdbc.kernel.JDBCStoreManager
> $CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1398)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151)
>        at
>
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120)
>        ... 25 more
> ERROR - GeronimoLog.error(108) | An exception occured while executing an
> isolated transaction, the transaction is going to be abandoned.
> javax.transaction.RollbackException: Unable to commit: transaction
> marked for rollback
>        at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:271)
>        at
>
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238)
>        at
>
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:181)
>        at org.apache.ode.scheduler.simple.SimpleScheduler
> $1.call(SimpleScheduler.java:155)
>        at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>        at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>        at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:603)
>        at java.lang.Thread.run(Thread.java:636)
>
>
> ERROR - GeronimoLog.error(104) | Timeout or execution error when waiting
> for response to MEX {MyRoleMex#hqejbhcnphr45bn3bxcvn7 [Client
> hqejbhcnphr45bn3bxcvn6] calling
> {
> http://www.se.uni-hannover.de/soa08/tutorial/DynamicInvokeProcess}MultilingualHelloWorld.process(...)<http://www.se.uni-hannover.de/soa08/tutorial/DynamicInvokeProcess%7DMultilingualHelloWorld.process%28...%29>}
> java.util.concurrent.TimeoutException: Message exchange
> org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl$ResponseFuture@417348timed out when waiting for a response!
>
>
>
> Thanks a lot!
>
> Regards,
> Nadège
>
>

Re: Invoke timeout -> A truncation error was encountered trying to shrink VARCHAR

Posted by Alex Boisvert <bo...@intalio.com>.
I would recommend using an external database in that case.

alex


On Fri, Mar 27, 2009 at 6:53 AM, Nadege <na...@1und1.de> wrote:

>
> Hi Alex,
>
> Could you please explain us how to alter the table?
> We are running ode.war (version 1.2) with the jetty plugin for maven and
> are
> using the embedded derby database.
> It does seem possible to access the embedded database using ij.
>
> Thank you.
> Nadège
>
>
>
> Alex Boisvert-3 wrote:
> >
> > You may want to ALTER ODE_MESSAGE_EXCHANGE and set the FAILURE field to a
> > varchar(4000) or anything larger than 256.
> >
> > alex
> >
>
> --
> View this message in context:
> http://www.nabble.com/Invoke-timeout--%3E-A-truncation-error-was-encountered-trying-to-shrink-VARCHAR-tp22727456p22742031.html
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>

Re: Invoke timeout -> A truncation error was encountered trying to shrink VARCHAR

Posted by Nadege <na...@1und1.de>.
Hi Alex,

Could you please explain us how to alter the table?
We are running ode.war (version 1.2) with the jetty plugin for maven and are
using the embedded derby database.
It does seem possible to access the embedded database using ij. 

Thank you.
Nadège



Alex Boisvert-3 wrote:
> 
> You may want to ALTER ODE_MESSAGE_EXCHANGE and set the FAILURE field to a
> varchar(4000) or anything larger than 256.
> 
> alex
> 

-- 
View this message in context: http://www.nabble.com/Invoke-timeout--%3E-A-truncation-error-was-encountered-trying-to-shrink-VARCHAR-tp22727456p22742031.html
Sent from the Apache Ode User mailing list archive at Nabble.com.