[ 
https://issues.apache.org/jira/browse/ODE-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617848#action_12617848
 ] 

Matthieu Riou commented on ODE-350:
-----------------------------------

Depends... If you have a very large process with a lot of state data, I could 
see cases where you'd go above 64k. But it's definitely not the common case so 
I think keeping EXECUTION_STATE as a normal blob will make sense for most 
people.

If we documented this in the FAQ, would it have helped?

> Data truncation: Data too long for column 'EXECUTION_STATE' at row 1
> --------------------------------------------------------------------
>
>                 Key: ODE-350
>                 URL: https://issues.apache.org/jira/browse/ODE-350
>             Project: ODE
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: ServiceMix JBI, MySql External with Jencks and Tranql
>            Reporter: Rafal Rusin
>
> After 4 hours of sending requests I got this:
> 16:30:06,284 | WARN  | pool-4-thread-1 | oConnectionEventListener | 
> eronimoConnectionEventListener   88 | connectionErrorOccurred called with null
> com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 
> 'EXECUTION_STATE' at row 1
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
>         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
>         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
>         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
>         at 
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
>         at 
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2019)
>         at 
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1937)
>         at 
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1922)
>         at 
> org.enhydra.jdbc.core.CorePreparedStatement.executeUpdate(CorePreparedStatement.java:102)
>         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$4.call(SimpleScheduler.java:335)
>         at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
>         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)
> 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:581)
>         at 
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:267)
>         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$4.call(SimpleScheduler.java:335)
>         at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
>         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: javax.resource.spi.LocalTransactionException: Unable to rollback
>         at 
> org.tranql.connector.jdbc.ManagedXAConnection.localTransactionRollback(ManagedXAConnection.java:126)
>         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: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: 
> Connection.close() has already been called. Invalid operation in this state.
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:980)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
>         at com.mysql.jdbc.ConnectionImpl.getMutex(ConnectionImpl.java:3018)
>         at com.mysql.jdbc.ConnectionImpl.rollback(ConnectionImpl.java:4564)
>         at 
> org.enhydra.jdbc.core.CoreConnection.rollback(CoreConnection.java:223)
>         at 
> org.enhydra.jdbc.standard.StandardXAConnectionHandle.rollback(StandardXAConnectionHandle.java:138)
>         at 
> org.tranql.connector.jdbc.ManagedXAConnection.localTransactionRollback(ManagedXAConnection.java:124)
>         ... 13 more
> 16:30:06,314 | ERROR | pool-4-thread-1 | SimpleScheduler          | 
> duler.simple.SimpleScheduler$4  356 | Error while executing transaction
> javax.transaction.SystemException
>         at 
> org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:585)
>         at 
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:267)
>         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$4.call(SimpleScheduler.java:335)
>         at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
>         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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to