[jboss-user] [jBPM] - Re: TaskService Referential integrity constraint violation

Gary Struthers do-not-reply at jboss.com
Sun Aug 14 18:16:02 EDT 2011


Gary Struthers [http://community.jboss.org/people/GaryS] created the discussion

"Re: TaskService Referential integrity constraint violation"

To view the discussion, visit: http://community.jboss.org/message/620978#620978

--------------------------------------------------------------
I changed WSHumanTaskHandler to CommandBasedWSHumanTaskHandler and that raises enough questions to start another discussion. This looks like it is persisting both session and task but a foreign key is wrong. Here is the console log I hope someone can see the problem.

Hibernate: select task0_.id as col_0_0_, deadline1_.id as col_1_0_, deadline1_.deadline_date as col_2_0_ from Task task0_, Deadline deadline1_ where (deadline1_.id in (select startdeadl2_.id from Deadline startdeadl2_ where task0_.id=startdeadl2_.Deadlines_StartDeadLine_Id) or deadline1_.id in (select enddeadlin3_.id from Deadline enddeadlin3_ where task0_.id=enddeadlin3_.Deadlines_EndDeadLine_Id)) and deadline1_.escalated=0 order by deadline1_.deadline_date
Hibernate: insert into OrganizationalEntity (DTYPE, id) values ('User', ?)
Hibernate: insert into OrganizationalEntity (DTYPE, id) values ('User', ?)
Hibernate: insert into OrganizationalEntity (DTYPE, id) values ('User', ?)
Hibernate: insert into OrganizationalEntity (DTYPE, id) values ('User', ?)
Hibernate: insert into OrganizationalEntity (DTYPE, id) values ('Group', ?)
Waiting for the Mina Server to come up
..Hibernate: insert into SessionInfo (id, lastModificationDate, rulesByteArray, startDate, OPTLOCK) values (null, ?, ?, ?, ?)
Connected ? =>true
OBJECT ASSERTED value:PIvars [id=59f8c5d6-a18c-40a6-9e37-973f0e0ad0e8, appId=0, assignedTeam=null, assignedReader=null, applicationReady=false, score=null, canScore=false, validScore=false, arRecommended=false, eligible2ndRead=false, is2ndRead=false, need3ndRead=false, requiresQC=false] factId: 1
Hibernate: update SessionInfo set lastModificationDate=?, rulesByteArray=?, startDate=?, OPTLOCK=? where id=? and OPTLOCK=?
Hibernate: update SessionInfo set lastModificationDate=?, rulesByteArray=?, startDate=?, OPTLOCK=? where id=? and OPTLOCK=?
Hibernate: select sessioninf0_.id as id41_0_, sessioninf0_.lastModificationDate as lastModi2_41_0_, sessioninf0_.rulesByteArray as rulesByt3_41_0_, sessioninf0_.startDate as startDate41_0_, sessioninf0_.OPTLOCK as OPTLOCK41_0_ from SessionInfo sessioninf0_ where sessioninf0_.id=?
Hibernate: select processins0_.InstanceId as InstanceId42_0_, processins0_.lastModificationDate as lastModi2_42_0_, processins0_.lastReadDate as lastRead3_42_0_, processins0_.processId as processId42_0_, processins0_.processInstanceByteArray as processI5_42_0_, processins0_.startDate as startDate42_0_, processins0_.state as state42_0_, processins0_.OPTLOCK as OPTLOCK42_0_ from ProcessInstanceInfo processins0_ where processins0_.InstanceId=?
Hibernate: update SessionInfo set lastModificationDate=?, rulesByteArray=?, startDate=?, OPTLOCK=? where id=? and OPTLOCK=?
Hibernate: select sessioninf0_.id as id41_0_, sessioninf0_.lastModificationDate as lastModi2_41_0_, sessioninf0_.rulesByteArray as rulesByt3_41_0_, sessioninf0_.startDate as startDate41_0_, sessioninf0_.OPTLOCK as OPTLOCK41_0_ from SessionInfo sessioninf0_ where sessioninf0_.id=?
Hibernate: insert into ProcessInstanceInfo (InstanceId, lastModificationDate, lastReadDate, processId, processInstanceByteArray, startDate, state, OPTLOCK) values (null, ?, ?, ?, ?, ?, ?, ?)
BEFORE RULEFLOW VARIABLE CHANGED canScore=true process:Read.bp[id=XXX]
AFTER RULEFLOW VARIABLE CHANGED canScore=true process:Read.bp[id=XXX]
BEFORE RULEFLOW VARIABLE CHANGED vars=PIvars [id=59f8c5d6-a18c-40a6-9e37-973f0e0ad0e8, appId=0, assignedTeam=null, assignedReader=null, applicationReady=false, score=null, canScore=false, validScore=false, arRecommended=false, eligible2ndRead=false, is2ndRead=false, need3ndRead=false, requiresQC=false] process:Read.bp[id=XXX]
AFTER RULEFLOW VARIABLE CHANGED vars=PIvars [id=59f8c5d6-a18c-40a6-9e37-973f0e0ad0e8, appId=0, assignedTeam=null, assignedReader=null, applicationReady=false, score=null, canScore=false, validScore=false, arRecommended=false, eligible2ndRead=false, is2ndRead=false, need3ndRead=false, requiresQC=false] process:Read.bp[id=XXX]
BEFORE RULEFLOW STARTED process:Read.bp[id=XXX]
BEFORE PROCESS NODE TRIGGERED node:Start[id=1] process:Read.bp[id=XXX]
BEFORE PROCESS NODE EXITED node:Start[id=1] process:Read.bp[id=XXX]
BEFORE PROCESS NODE TRIGGERED node:Score Application[id=6] process:PEfreshmanRead.bp[id=XXX]
Hibernate: insert into WorkItemInfo (workItemId, creationDate, name, processInstanceId, state, OPTLOCK, workItemByteArray) values (null, ?, ?, ?, ?, ?, ?)
AFTER PROCESS NODE TRIGGERED node:Score Application[id=6] process:Read.bp[id=XXX]
AFTER PROCESS NODE TRIGGERED node:Start[id=1] process:Read.bp[id=XXX]
AFTER PROCESS NODE TRIGGERED node:Start[id=1] process:Read.bp[id=XXX]
AFTER RULEFLOW STARTED process:Read.bp[id=XXX]
Hibernate: insert into Task (id, allowedToDelegate, taskInitiator_id, priority, activationTime, actualOwner_id, createdBy_id, createdOn, documentAccessType, documentContentId, documentType, expirationTime, faultAccessType, faultContentId, faultName, faultType, outputAccessType, outputContentId, outputType, parentId, previousStatus, processInstanceId, skipable, status, workItemId) values (null, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: insert into I18NText (id, language, text) values (null, ?, ?)
Hibernate: insert into Content (id, content) values (null, ?)
Hibernate: update ProcessInstanceInfo set lastModificationDate=?, lastReadDate=?, processId=?, processInstanceByteArray=?, startDate=?, state=?, OPTLOCK=? where InstanceId=? and OPTLOCK=?
Hibernate: 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=?, processInstanceId=?, skipable=?, status=?, workItemId=? where id=?
Hibernate: update WorkItemInfo set creationDate=?, name=?, processInstanceId=?, state=?, OPTLOCK=?, workItemByteArray=? where workItemId=? and OPTLOCK=?
Hibernate: update I18NText set Task_Names_Id=? where id=?
Hibernate: insert into PeopleAssignments_BAs (task_id, entity_id) values (?, ?)
Hibernate: insert into PeopleAssignments_PotOwners (task_id, entity_id) values (?, ?)
Hibernate: update SessionInfo set lastModificationDate=?, rulesByteArray=?, startDate=?, OPTLOCK=? where id=? and OPTLOCK=?
0    14/08 12:33:53,996[NioProcessor-1] ERROR hibernate.util.JDBCExceptionReporter.logExceptions - Referential integrity constraint violation: "FK1EE418D2C122ED2: PUBLIC.PEOPLEASSIGNMENTS_POTOWNERS FOREIGN KEY(ENTITY_ID) REFERENCES PUBLIC.ORGANIZATIONALENTITY(ID)"; SQL statement:
insert into PeopleAssignments_PotOwners (task_id, entity_id) values (?, ?) [23002-128]
5    14/08 12:33:54,001[NioProcessor-1] ERROR hibernate.util.JDBCExceptionReporter.logExceptions - Referential integrity constraint violation: "FK1EE418D2C122ED2: PUBLIC.PEOPLEASSIGNMENTS_POTOWNERS FOREIGN KEY(ENTITY_ID) REFERENCES PUBLIC.ORGANIZATIONALENTITY(ID)"; SQL statement:
insert into PeopleAssignments_PotOwners (task_id, entity_id) values (?, ?) [23002-128]
7    14/08 12:33:54,003[NioProcessor-1] ERROR event.def.AbstractFlushingEventListener.performExecutions - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
          at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
          at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
          at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:254)
          at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
          at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:171)
          at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
          at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
          at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1001)
          at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:339)
          at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
          at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54)
          at org.jbpm.task.service.TaskServiceSession.doOperationInTransaction(TaskServiceSession.java:820)
          at org.jbpm.task.service.TaskServiceSession.addTask(TaskServiceSession.java:134)
          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:713)
          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:793)
          at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
          at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
          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:793)
          at org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:176)
          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:793)
          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:638)
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598)
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587)
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61)
          at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969)
          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:680)
Caused by: org.h2.jdbc.JdbcBatchUpdateException: Referential integrity constraint violation: "FK1EE418D2C122ED2: PUBLIC.PEOPLEASSIGNMENTS_POTOWNERS FOREIGN KEY(ENTITY_ID) REFERENCES PUBLIC.ORGANIZATIONALENTITY(ID)"; SQL statement:
insert into PeopleAssignments_PotOwners (task_id, entity_id) values (?, ?) [23002-128]
          at org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:1119)
          at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
          at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:247)
          ... 37 more
javax.persistence.RollbackException: Error while commiting the transaction
          at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:71)
          at org.jbpm.task.service.TaskServiceSession.doOperationInTransaction(TaskServiceSession.java:820)
          at org.jbpm.task.service.TaskServiceSession.addTask(TaskServiceSession.java:134)
          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:713)
          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:793)
          at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
          at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
          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:793)
          at org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:176)
          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:793)
          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:638)
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598)
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587)
          at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61)
          at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969)
          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:680)
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
          at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
          at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
          at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:254)
          at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
          at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:171)
          at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
          at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
          at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1001)
          at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:339)
          at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
          at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54)
          ... 29 more
Caused by: org.h2.jdbc.JdbcBatchUpdateException: Referential integrity constraint violation: "FK1EE418D2C122ED2: PUBLIC.PEOPLEASSIGNMENTS_POTOWNERS FOREIGN KEY(ENTITY_ID) REFERENCES PUBLIC.ORGANIZATIONALENTITY(ID)"; SQL statement:
insert into PeopleAssignments_PotOwners (task_id, entity_id) values (?, ?) [23002-128]
          at org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:1119)
          at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
          at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:247)
          ... 37 more
Hibernate: update SessionInfo set lastModificationDate=?, rulesByteArray=?, startDate=?, OPTLOCK=? where id=? and OPTLOCK=?
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/620978#620978]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110814/4d7999f7/attachment-0001.html 


More information about the jboss-user mailing list