StaleObjectStateException while deleting process instances in jBPM3
Issue
- Having tried to use earlier version of the quickstart attached to the solution (supplied as a quickstart) in the following link: Is there a way to automatically clean the jBPM tables from ended process instances? , it gives the following exception.
2013-06-07 10:38:56,707 INFO [org.jboss.soa.esb.samples.quickstart.jbpm.maintenance.DeleteOldJbpmProcessInstancesAction] (HDScanner) jBPM processinstances older than 10 days will be deleted from the database in batches of 5 records
...
2013-06-07 10:40:00,312 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] (ESBScheduler:jbpm_maintenance.esb_Worker-0) Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.graph.exe.Token#2368]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1782)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
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.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:999)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1185)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.jbpm.db.GraphSession.deleteLogs(GraphSession.java:443)
at org.jbpm.db.GraphSession.deleteProcessInstance(GraphSession.java:414)
at org.jbpm.db.GraphSession.deleteProcessInstance(GraphSession.java:400)
at org.jboss.soa.esb.samples.quickstart.jbpm.maintenance.DeleteOldJbpmProcessInstancesAction.deleteOldProcessInstances(DeleteOldJbpmProcessInstancesAction.java:136)
at org.jboss.soa.esb.samples.quickstart.jbpm.maintenance.DeleteOldJbpmProcessInstancesAction.onSchedule(DeleteOldJbpmProcessInstancesAction.java:89)
at org.jboss.soa.esb.listeners.ScheduleListener.onSchedule(ScheduleListener.java:121)
at org.jboss.soa.esb.listeners.lifecycle.AbstractScheduledManagedLifecycle$1.onSchedule(AbstractScheduledManagedLifecycle.java:75)
at org.jboss.soa.esb.schedule.SchedulerJob$ESBScheduledJob.execute(SchedulerJob.java:289)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
2013-06-07 10:40:00,321 ERROR [org.jboss.soa.esb.samples.quickstart.jbpm.maintenance.DeleteOldJbpmProcessInstancesAction] (ESBScheduler:jbpm_maintenance.esb_Worker-0) failed to delete process instance '1472': could not delete ProcessInstance(1472)
2013-06-07 10:40:00,323 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] (ESBScheduler:jbpm_maintenance.esb_Worker-0) Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.graph.exe.Token#2368]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1782)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
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.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:999)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1185)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.jbpm.db.GraphSession.deleteLogs(GraphSession.java:443)
at org.jbpm.db.GraphSession.deleteProcessInstance(GraphSession.java:414)
at org.jbpm.db.GraphSession.deleteProcessInstance(GraphSession.java:400)
Environment
- Red Hat JBoss SOA Platform (SOA-P)
- 5.3.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.