| Summary: | Hibernate error on starting the "Evaluation" process | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise BRMS Platform 5 | Reporter: | Ryan Zhang <rzhang> | ||||||||
| Component: | jBPM 5, jBPM Console | Assignee: | Kris Verlaenen <kverlaen> | ||||||||
| Status: | VERIFIED --- | QA Contact: | Lukáš Petrovický <lpetrovi> | ||||||||
| Severity: | urgent | Docs Contact: | |||||||||
| Priority: | high | ||||||||||
| Version: | BRMS 5.3.0.GA | CC: | kverlaen, lpetrovi | ||||||||
| Target Milestone: | --- | ||||||||||
| Target Release: | BRMS 5.3.0.GA | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Unspecified | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | Type: | --- | |||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Attachments: |
|
||||||||||
|
Description
Ryan Zhang
2012-02-08 09:53:10 UTC
Created attachment 560207 [details]
server.log
Created attachment 560208 [details]
jbpm console snapshot.png
Ryan,
Could you check the jbpm persistence.xml (it should contain SessionInfo)?
We ran into this problem as well with ER3, when the code originally changed.
Please check if the persistence.xml contains the following lines:
<!-- hbm2ddl.auto MUST BE update! The console will otherwise overwrite the schema with each new thread -->
<property name="hibernate.hbm2ddl.auto" value="update" />
That should fix this problem.
Thanks,
Marco
Yes, you are correct. This can fix this issue. Update this status to verified directly since this only happened in prod smoke test phase. Thanks very much Marco! I have to reopen this issue. The jbpm web console looks functional now. But there is still some part of error remained in server.log. I attached the latest server.log for reference. The stackstrace looks like: 2012-02-15 16:13:04,433 ERROR [org.hibernate.util.JDBCExceptionReporter] (NioProcessor-3) Integrity constraint violation - no parent FK27A9A59E619A0 table: TASK in statement [update Task set allowedToDelegate=?, taskInitiator_id=?, priority=?, activationTime=?, actualOwner_id=?, createdBy_id=?, createdOn=?, documentAccessType=?, documentContentId=?, documentType=?, expirationTime=?, faultAccessType=?, faultContentId=?, faultName=?, faultType=?, outputAccessType=?, outputContentId=?, outputType=?, parentId=?, previousStatus=?, processId=?, processInstanceId=?, processSessionId=?, skipable=?, status=?, workItemId=?, OPTLOCK=? where id=? and OPTLOCK=?] 2012-02-15 16:13:04,434 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] (NioProcessor-3) Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: could not update: [org.jbpm.task.Task#1] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2443) at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625) at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:278) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:262) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1030) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:367) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137) at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54) at org.jbpm.task.service.TaskServiceSession.doOperationInTransaction(TaskServiceSession.java:975) at org.jbpm.task.service.TaskServiceSession.addTask(TaskServiceSession.java:171) at org.jbpm.task.service.TaskServerHandler.messageReceived(TaskServerHandler.java:109) at org.jbpm.task.service.mina.MinaTaskServerHandler.messageReceived(MinaTaskServerHandler.java:41) at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) at org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:177) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692) at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645) at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634) at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66) at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.sql.SQLException: Integrity constraint violation - no parent FK27A9A59E619A0 table: TASK in statement [update Task set allowedToDelegate=?, taskInitiator_id=?, priority=?, activationTime=?, actualOwner_id=?, createdBy_id=?, createdOn=?, documentAccessType=?, documentContentId=?, documentType=?, expirationTime=?, faultAccessType=?, faultContentId=?, faultName=?, faultType=?, outputAccessType=?, outputContentId=?, outputType=?, parentId=?, previousStatus=?, processId=?, processInstanceId=?, processSessionId=?, skipable=?, status=?, workItemId=?, OPTLOCK=? where id=? and OPTLOCK=?] at org.hsqldb.jdbc.Util.throwError(Unknown Source) at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source) at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeUpdate(CachedPreparedStatement.java:96) at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425) ... 41 more 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) javax.persistence.RollbackException: Error while commiting the transaction 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:71) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.jbpm.task.service.TaskServiceSession.doOperationInTransaction(TaskServiceSession.java:975) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.jbpm.task.service.TaskServiceSession.addTask(TaskServiceSession.java:171) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.jbpm.task.service.TaskServerHandler.messageReceived(TaskServerHandler.java:109) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.jbpm.task.service.mina.MinaTaskServerHandler.messageReceived(MinaTaskServerHandler.java:41) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) 2012-02-15 16:13:04,436 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:177) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at java.lang.Thread.run(Thread.java:662) 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) Caused by: org.hibernate.exception.ConstraintViolationException: could not update: [org.jbpm.task.Task#1] 2012-02-15 16:13:04,437 ERROR [STDERR] (NioProcessor-3) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2443) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:278) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:262) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1030) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:367) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54) 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) ... 29 more 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) Caused by: java.sql.SQLException: Integrity constraint violation - no parent FK27A9A59E619A0 table: TASK in statement [update Task set allowedToDelegate=?, taskInitiator_id=?, priority=?, activationTime=?, actualOwner_id=?, createdBy_id=?, createdOn=?, documentAccessType=?, documentContentId=?, documentType=?, expirationTime=?, faultAccessType=?, faultContentId=?, faultName=?, faultType=?, outputAccessType=?, outputContentId=?, outputType=?, parentId=?, previousStatus=?, processId=?, processInstanceId=?, processSessionId=?, skipable=?, status=?, workItemId=?, OPTLOCK=? where id=? and OPTLOCK=?] 2012-02-15 16:13:04,438 ERROR [STDERR] (NioProcessor-3) at org.hsqldb.jdbc.Util.throwError(Unknown Source) 2012-02-15 16:13:04,439 ERROR [STDERR] (NioProcessor-3) at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source) 2012-02-15 16:13:04,439 ERROR [STDERR] (NioProcessor-3) at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeUpdate(CachedPreparedStatement.java:96) 2012-02-15 16:13:04,439 ERROR [STDERR] (NioProcessor-3) at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365) 2012-02-15 16:13:04,439 ERROR [STDERR] (NioProcessor-3) at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425) 2012-02-15 16:13:04,439 ERROR [STDERR] (NioProcessor-3) ... 41 more 2012-02-15 16:13:04,454 INFO [org.apache.mina.filter.logging.LoggingFilter] (NioProcessor-3) SENT: HeapBuffer[pos=0 lim=0 cap=0: empty] Created attachment 562167 [details]
new server log
Ryan, I'll look at this tomorrow (thursday). There were some updates to how Task objects are handled recently, it might have something to do with that. The changes/updates were in order to solve other concurrency issues with Task objects. Hi Ryan, Sorry for the late answer: I (tried to) look at it yesterday but ended up just struggling with the BRMS server.. Argh. In any case, I have a strong suspicion that the issue is caused by a commit we ended up reverting: See https://github.com/droolsjbpm/jbpm/commit/4894a8b9165081cf3aa2858d7a45c70f4f75c8a7 (In that commit, we revert commit 209ec88a ). I noticed that the revert hasn't made it onto the product git yet. Would you guys mind adding the revert commit (4894a8b9) to the product branch? Thanks, Marco Hmm, unfortunately reverting that commit doesn't help either. It's a problem with persistence in jbpm-human-task.. hmm. Ryan, I just noticed something I hadn't before: Could you check what the values are of the hbm2ddl.auto in the persistence.xml's being used? The one for jbpm-console should be update -- setting it to create causes a StaleObjectException as shown above. hi, Just notice I lost my first reply.
It is set as "update"
Here is my checking:
[rzhang@localhost default]$ for i in $(find . -name "persistence.xml"); do echo $i;grep "hbm2ddl.auto" -r $i; done
/deploy/gwt-console-server.war/WEB-INF/classes/META-INF/persistence.xml
<property name="hibernate.hbm2ddl.auto" value="update" />
./deploy/jbpm-human-task.war/WEB-INF/classes/META-INF/persistence.xml
<property name="hibernate.hbm2ddl.auto" value="create" />
This issue is not found in ER5. Not sure which code changes fix this issue. But I think it's gone. Update the status to ON_QA |