]
Huisheng Xu updated JBPM-2553:
------------------------------
Attachment: JBPM-2553.patch
Cannot reproduce this problem. the patch comes from David testcase.
Violation of unique constratin with two splits
----------------------------------------------
Key: JBPM-2553
URL:
https://jira.jboss.org/jira/browse/JBPM-2553
Project: jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.1, jBPM 4.2
Reporter: David Loiseau
Assignee: Huisheng Xu
Attachments: JBPM-2553.patch
Thow split steps with two identical transition names cause a violation of unique
constraint in JBPM4_EXECUTION table.
Process Definition:
<?xml version="1.0" encoding="UTF-8"?>
<process key="test" name="test"
xmlns="http://jbpm.org/4.0/jpdl">
<start g="82,38,41,27" name="start1">
<transition g="-43,-18" name="to fork1"
to="fork1"/>
</start>
<fork g="79,112,25,20" name="fork1">
<transition name="to task1" to="task1"
g="-44,-18"/>
<transition name="to task2" to="task2"
g="-44,-18"/>
</fork>
<fork g="88,263,65,27" name="fork2">
<transition name="to task1" to="task4"
g="-44,-18"/>
<transition name="to task3" to="task3"
g="-44,-18"/>
</fork>
<task assignee="test" name="task1"
g="75,189,60,42">
<transition name="to fork2" to="fork2"
g="-43,-18"/>
</task>
<task name="task2" g="163,117,61,31"/>
<task name="task3" g="189,268,59,37"/>
<task name="task4" g="93,340,52,40"/>
</process>
Test code:
ProcessEngine processEngine = Configuration.getProcessEngine();
RepositoryService repositoryService = (RepositoryService)
processEngine.get(RepositoryService.class);
String deploymentId = repositoryService
.createDeployment()
.addResourceFromClasspath("test.jpdl.xml")
.deploy();
Execution execution =
processEngine.getExecutionService().startProcessInstanceByKey("test");
Task task =
(Task)processEngine.getTaskService().findPersonalTasks("test").get(0);
processEngine.getTaskService().completeTask(task.getId(),"to fork2");
Exception:
Caused by: java.sql.SQLException: Violation of unique constraint $$: duplicate value(s)
for column(s) $$: SYS_CT_970 in statement [update JBPM4_EXECUTION set DBVERSION_=?,
ACTIVITYNAME_=?, PROCDEFID_=?, HASVARS_=?, NAME_=?, KEY_=?, ID_=?, STATE_=?,
SUSPHISTSTATE_=?, PRIORITY_=?, HISACTINST_=?, PARENT_=?, INSTANCE_=?, SUPEREXEC_=?,
SUBPROCINST_=? where DBID_=? and DBVERSION_=?]
at org.hsqldb.jdbc.Util.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)
at
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435)
... 39 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: