[
https://jira.jboss.org/jira/browse/JBPM-1280?page=com.atlassian.jira.plug...
]
Tom Baeyens commented on JBPM-1280:
-----------------------------------
Running org.jbpm.pvm.internal.jobexecutor.ContinuationTest
### EXCEPTION ###########################################
18:11:52,988 SEV | [AbstractFlushingEventListener] 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.pvm.internal.model.ExecutionImpl#1]
at
org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1769)
at
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2412)
at
org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2312)
at
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2612)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:96)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
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:1000)
at
org.jbpm.pvm.internal.tx.HibernateSessionResource.prepare(HibernateSessionResource.java:54)
at
org.jbpm.pvm.internal.tx.StandardTransaction.commit(StandardTransaction.java:106)
at
org.jbpm.pvm.internal.tx.StandardTransaction.complete(StandardTransaction.java:65)
at
org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:61)
at
org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:52)
at
org.jbpm.pvm.internal.jobexecutor.JobExecutorThread.run(JobExecutorThread.java:62)
build out job executor basic test coverage
------------------------------------------
Key: JBPM-1280
URL:
https://jira.jboss.org/jira/browse/JBPM-1280
Project: JBoss jBPM
Issue Type: Task
Security Level: Public(Everyone can see)
Components: PVM
Reporter: Tom Baeyens
Assignee: Tom Baeyens
Fix For: jBPM 4.0.0 Alpha2
First, we need to establish what we're going to QA and how. I see 3 distinct types
of tests for the job executor
1) Using JobSession to create jobs and then use the JobExecutor API's to control the
execution of those jobs. This way, all these tests can and should be done in a single
thread.
* a commit for processing an asynchronous message
* a commit for processing a timer
* a commit for the combination of a an asynchronous message and a timer
* a commit with a custom resource in the standard transaction
* test a rollback caused by a user code exception in an asynchronous continuation
* test a rollback caused by a user code exception in an timer
* test a rollback caused by a user code exception with a custom resource in the standard
transaction
* test a rollback caused by an optimistic locking exception in an asynchronous
continuation
* test a rollback caused by an optimistic locking exception in an timer
* test a rollback caused by an optimistic locking with a custom resource in the standard
transaction
2) If we only use the public, stable API's, we'll be a lot more limited in what
we're able to test. We can e.g. run this test suite against the jBPM 3 codebase.
* create and execute a process with a couple of asynchronous continuation in it.
* create and execute a process with asynchronous continuations in a concurrent section.
* create and execute a process with a couple of timers in it.
* create and execute a process with a couple of timers in a concurrent section
* a combination of a timer and an asynchronous continuation
3) Load and stress tests. Also these should only make use of public API's and ways
to deploy processes. So that this test suite is configurable/runnable on different
environments (and also against the jBPM 3 codebase)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira