Hi, I'm having some problems with the heartbeat update of the workflow
engine, the User Application is running on Jboss-SLES 11 SP2 and the
database is running on Oracle11gR2-SLES 11 SP2. The JDBC driver is
working correctly.


But sometimes i get the following error in the server.log when the jboss
try to update the workflow engine:


Code:
--------------------

2012-11-21 11:19:54,812 WARN [org.jboss.resource.connectionmanager.TxConnectionM anager] (Thread-76) Connection error occured: org.jboss.resource.connectionm
anager.TxConnectionManager$TxConnectionEventListen er@c70355[state=NORMAL mc=org.jboss.resource.adapter.jdbc.local.LocalMana gedConnection@109b694 handles=1 la
stUse=1353507534807 permit=true trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossMana gedConnectionPool$PoolBySubject@110e0f6 context=org.jboss.r
esource.connectionmanager.InternalManagedConnectio nPool@1216428 xaResource=org.jboss.resource.connectionmanager.Tx ConnectionManager$LocalXAResource@b1eeae tx
Sync=null]
java.lang.RuntimeException: Assertion botch: negative time
at oracle.jdbc.driver.DateCommonBinder.setOracleHMS(O raclePreparedStatement.java:18740)
at oracle.jdbc.driver.TimestampBinder.bind(OraclePrep aredStatement.java:19245)
at oracle.jdbc.driver.OraclePreparedStatement.setupBi ndBuffers(OraclePreparedStatement.java:3014)
at oracle.jdbc.driver.OraclePreparedStatement.process CompletedBindRow(OraclePreparedStatement.java:2247 )
at oracle.jdbc.driver.OraclePreparedStatement.execute Internal(OraclePreparedStatement.java:3444)
at oracle.jdbc.driver.OraclePreparedStatement.execute Update(OraclePreparedStatement.java:3530)
at oracle.jdbc.driver.OraclePreparedStatementWrapper. executeUpdate(OraclePreparedStatementWrapper.java: 1350)
at org.jboss.resource.adapter.jdbc.WrappedPreparedSta tement.executeUpdate(WrappedPreparedStatement.java :365)
at org.hibernate.hql.ast.exec.BasicExecutor.execute(B asicExecutor.java:101)
at org.hibernate.hql.ast.QueryTranslatorImpl.executeU pdate(QueryTranslatorImpl.java:421)
at org.hibernate.engine.query.HQLQueryPlan.performExe cuteUpdate(HQLQueryPlan.java:283)
at org.hibernate.impl.SessionImpl.executeUpdate(Sessi onImpl.java:1288)
at org.hibernate.impl.QueryImpl.executeUpdate(QueryIm pl.java:117)
at com.novell.soa.af.impl.persist.EngineStateDAO.upda teHeartbeat(EngineStateDAO.java:143)
at com.novell.soa.af.impl.core.EngineImpl$HeartbeatTi mer.run(EngineImpl.java:1459)
at java.lang.Thread.run(Unknown Source)
2012-11-21 11:19:54,850 INFO [STDOUT] (Thread-76) ERROR [RBPM] [com.novell.soa.persist.HibernateUtil:rollback] Error rolling back transaction
org.hibernate.TransactionException: JDBC rollback failed
at org.hibernate.transaction.JDBCTransaction.rollback (JDBCTransaction.java:200)
at com.novell.soa.persist.HibernateUtil.rollback(Hibe rnateUtil.java:237)
at com.novell.soa.persist.HibernateDAO.rollback(Hiber nateDAO.java:463)
at com.novell.soa.af.impl.persist.EngineStateDAO.upda teHeartbeat(EngineStateDAO.java:154)
at com.novell.soa.af.impl.core.EngineImpl$HeartbeatTi mer.run(EngineImpl.java:1459)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: You cannot rollback with autocommit set!
at org.jboss.resource.adapter.jdbc.BaseWrapperManaged Connection.jdbcRollback(BaseWrapperManagedConnecti on.java:695)
at org.jboss.resource.adapter.jdbc.WrappedConnection. rollback(WrappedConnection.java:500)
at org.hibernate.transaction.JDBCTransaction.rollback AndResetAutoCommit(JDBCTransaction.java:213)
at org.hibernate.transaction.JDBCTransaction.rollback (JDBCTransaction.java:192)
... 5 more
2012-11-21 11:19:54,851 INFO [STDOUT] (Thread-76) WARN [RBPM] [com.novell.soa.af.impl.core.EngineImpl:run] Failed to update heartbeat for engine: Engine02
com.novell.soa.persist.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute update query
at com.novell.soa.af.impl.persist.EngineStateDAO.upda teHeartbeat(EngineStateDAO.java:148)
at com.novell.soa.af.impl.core.EngineImpl$HeartbeatTi mer.run(EngineImpl.java:1459)
at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.exception.GenericJDBCException: could not execute update query
at org.hibernate.exception.SQLStateConverter.handledN onSpecificException(SQLStateConverter.java:140)
at org.hibernate.exception.SQLStateConverter.convert( SQLStateConverter.java:128)
at org.hibernate.exception.JDBCExceptionHelper.conver t(JDBCExceptionHelper.java:66)
at org.hibernate.hql.ast.exec.BasicExecutor.execute(B asicExecutor.java:110)
at org.hibernate.hql.ast.QueryTranslatorImpl.executeU pdate(QueryTranslatorImpl.java:421)
at org.hibernate.engine.query.HQLQueryPlan.performExe cuteUpdate(HQLQueryPlan.java:283)
at org.hibernate.impl.SessionImpl.executeUpdate(Sessi onImpl.java:1288)
at org.hibernate.impl.QueryImpl.executeUpdate(QueryIm pl.java:117)
at com.novell.soa.af.impl.persist.EngineStateDAO.upda teHeartbeat(EngineStateDAO.java:143)
... 2 more
Caused by: org.jboss.util.NestedSQLException: Error; - nested throwable: (java.lang.RuntimeException: Assertion botch: negative time)
at org.jboss.resource.adapter.jdbc.WrappedConnection. checkException(WrappedConnection.java:873)
at org.jboss.resource.adapter.jdbc.WrappedStatement.c heckException(WrappedStatement.java:852)
at org.jboss.resource.adapter.jdbc.WrappedPreparedSta tement.executeUpdate(WrappedPreparedStatement.java :369)
at org.hibernate.hql.ast.exec.BasicExecutor.execute(B asicExecutor.java:101)
... 7 more
Caused by: java.lang.RuntimeException: Assertion botch: negative time
at oracle.jdbc.driver.DateCommonBinder.setOracleHMS(O raclePreparedStatement.java:18740)
at oracle.jdbc.driver.TimestampBinder.bind(OraclePrep aredStatement.java:19245)
at oracle.jdbc.driver.OraclePreparedStatement.setupBi ndBuffers(OraclePreparedStatement.java:3014)
at oracle.jdbc.driver.OraclePreparedStatement.process CompletedBindRow(OraclePreparedStatement.java:2247 )
at oracle.jdbc.driver.OraclePreparedStatement.execute Internal(OraclePreparedStatement.java:3444)
at oracle.jdbc.driver.OraclePreparedStatement.execute Update(OraclePreparedStatement.java:3530)
at oracle.jdbc.driver.OraclePreparedStatementWrapper. executeUpdate(OraclePreparedStatementWrapper.java: 1350)
at org.jboss.resource.adapter.jdbc.WrappedPreparedSta tement.executeUpdate(WrappedPreparedStatement.java :365)
... 8 more

--------------------



I run the query "SELECT * FROM AFENGINESTATE" in the database and i see
that the HEARTBEAT time of the workflows engine is one hour ahead that
the time of the servers and jboss server.log file.
Like if the time zone of the heartbeat time is GMT-02 when the correct
time zone must be GMT-03.

Do you knows the script that jboss run to update the heartbeat and where
it get the timezone? I checked the TZ of Linux and Java and are
correct.

Any ideas?
Thanks
Regards.


--
sarietti
------------------------------------------------------------------------
sarietti's Profile: https://forums.netiq.com/member.php?userid=2277
View this thread: https://forums.netiq.com/showthread.php?t=46220