[JBoss JIRA] Created: (JBPM-2677) Migration of process instances fails when there are no process instances
by Edgar Vonk (JIRA)
Migration of process instances fails when there are no process instances
------------------------------------------------------------------------
Key: JBPM-2677
URL: https://jira.jboss.org/jira/browse/JBPM-2677
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.2
Reporter: Edgar Vonk
When the process definition includes a 'migrate-instances' entry like:
{code}
<migrate-instances versions="*"/>
{code}
The migration of process instances fails when there are no process instances in the jBPM database:
{quote}
EXCEPTION ###########################################
16:15:36,793 INF | [DefaultCommandService] exception while executing command org.jbpm.pvm.internal.cmd.DeployCmd@1a550
f9
java.lang.IndexOutOfBoundsException: fromIndex = -1
at java.util.SubList.<init>(AbstractList.java:600)
at java.util.RandomAccessSubList.<init>(AbstractList.java:758)
at java.util.AbstractList.subList(AbstractList.java:468)
at org.jbpm.pvm.internal.migration.InstanceMigrator.getProcessesToMigrate(InstanceMigrator.java:104)
at org.jbpm.pvm.internal.migration.InstanceMigrator.getProcessInstancesToMigrate(InstanceMigrator.java:84)
[..]
{quote}
This issue is caused by the following code in the InstanceMigrator class:
{code}
private static List<ProcessDefinition> getProcessesToMigrate(String processDefinitionName, MigrationDescriptor migrationDescriptor) {
RepositorySession repositorySession = EnvironmentImpl.getFromCurrent(RepositorySession.class);
List<ProcessDefinition> processDefinitions = repositorySession
.createProcessDefinitionQuery()
.processDefinitionName(processDefinitionName)
.orderAsc(ProcessDefinitionQuery.PROPERTY_VERSION)
.list();
int startIndex = calculateStartIndex(processDefinitions.size() - 1, migrationDescriptor);
int endIndex = calculateEndIndex(processDefinitions.size() - 1, migrationDescriptor);
if (startIndex > endIndex) startIndex = endIndex;
return processDefinitions.subList(startIndex, endIndex);
}
{code}
No check is done to see if the list of processes (processDefinitions) is not empty.
This issue causes our unit tests to fail since our unit tests start with an empty jBPM database.
--
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
14 years, 10 months
[JBoss JIRA] Created: (JBPM-2537) A triggered timer does not end the task which is left
by Alexis Seigneurin (JIRA)
A triggered timer does not end the task which is left
-----------------------------------------------------
Key: JBPM-2537
URL: https://jira.jboss.org/jira/browse/JBPM-2537
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.0, jBPM 4.1
Reporter: Alexis Seigneurin
In my process definition, "task1" has a transition with a due date. When this timer is triggered by the job executor, the transition takes the process to "task2" but "task1" still looks active. For instance, when I run a "task query", instead of only finding "task2", both "task1" and "task2" are found.
Here is my process definition:
<?xml version="1.0" encoding="UTF-8"?>
<process name="test1" xmlns="http://jbpm.org/4.0/jpdl">
<start g="-9,192,48,48" name="start1">
<transition g="-44,-18" name="to task3" to="task3" />
</start>
<end g="490,192,48,48" name="end1" />
<task g="272,189,92,52" name="task1">
<transition g="-42,-18" name="to end1" to="end1" />
<transition g="-45,-18" name="to java1" to="reminder">
<timer duedate="10 seconds" />
</transition>
</task>
<java class="fr.idm.SimpleReminder" g="272,316,92,52" method="remind" name="reminder">
<transition to="task2" />
</java>
<end g="626,319,48,48" name="end2" />
<task g="454,316,92,52" name="task2">
<transition g="-42,-18" name="to end2" to="end2" />
</task>
<task g="113,189,92,52" name="task3">
<transition g="-44,-18" to="task1" name="to end1" />
</task>
</process>
For testing purpose, I introduced "task3" before "task1". It is not listed by the task query, which makes me think that, once "task1" is left, it should no longer be active.
This looks like https://jira.jboss.org/jira/browse/JBPM-967 but the suggested solution does not seem applicable to JBPM 4.x.
I will attached the whole source code.
--
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
14 years, 10 months
[JBoss JIRA] Created: (JBPM-1162) Problem with exception handling within the Decision nodes
by Jon Folland (JIRA)
Problem with exception handling within the Decision nodes
---------------------------------------------------------
Key: JBPM-1162
URL: http://jira.jboss.com/jira/browse/JBPM-1162
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2.2
Environment: Vaio laptop running Windows Vista, Java 1.5, JBPM 3.2.2
Reporter: Jon Folland
Assigned To: Tom Baeyens
I believe there may be a bug in the Decision class where exception handling is concerned which causes this failure:
If the line: String transitionName = decisionHandler.decide(executionContext); ...
...in the method public void execute(ExecutionContext executionContext)
throws an exception, which is caught here in the same method:
raiseException(exception, executionContext);
We miss the block:
if (transition==null) {
transition = getDefaultLeavingTransition();
log.debug("decision didn't select transition, taking default "+transition);
}
So when executionContext.leaveNode(transition); is called at the bottom, there wil be no transition set.
I believe we need to check for a tranistion==null condition regardless of whether an excpetion has been handled. Otherwise you will never be able to handle an exception in a Decision without another unhandled exception being thrown (which kind of defeits the point :-)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 10 months
[JBoss JIRA] Created: (JBPM-2641) taskService.addTaskParticipatingUser adds multiple participations for a user
by Robert Moskal (JIRA)
taskService.addTaskParticipatingUser adds multiple participations for a user
----------------------------------------------------------------------------
Key: JBPM-2641
URL: https://jira.jboss.org/jira/browse/JBPM-2641
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Environment: JDK 1.6 HSQL
Reporter: Robert Moskal
Perhaps this is the intended behavior, but calling taskService.addTaskParticipatingUser with the same user creates multiple participates:
taskService.addTaskParticipatingUser(_task.getId(), "boss_rigging", Participation.CANDIDATE);
taskService.addTaskParticipatingUser(_task.getId(), "boss_rigging", Participation.CANDIDATE);
assertEquals(1,taskService.createTaskQuery().candidate("boss_rigging").activityName("Investigate").list().size());
The query comes back with two tasks. This is somewhat surprising.
--
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
14 years, 10 months
[JBoss JIRA] Created: (JBPM-2750) need delete the duplicated field 'state' in TaskImpl
by Huisheng Xu (JIRA)
need delete the duplicated field 'state' in TaskImpl
----------------------------------------------------
Key: JBPM-2750
URL: https://jira.jboss.org/jira/browse/JBPM-2750
Project: jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.3
Environment: Windows XP, JDK1.5.0_15, Maven-2.2.1
Reporter: Huisheng Xu
Fix For: jBPM 4.4
How could we find out this bug?
If you invoke repositoryService.suspendDeployment(deploymentDbid), you will find out that the state of relative tasks is still 'open'.
Because there is a duplicated field 'state' in both TaskImpl and ScopeInstanceImpl. when we invoke 'taskImpl.suspend()' method, this method is defined in ScopeInstanceImpl.
in this method, the 'state' of ScopeInstanceImpl field will be changed to 'suspend', but the 'state' of TaskImpl field still be 'open', so in the end, no matter how we invoke the suspend() method, the TaskImpl is still open, it won't be suspended.
So I think we should delete the duplicated field 'state' of TaskImpl.
--
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
14 years, 10 months
[JBoss JIRA] Created: (JBPM-2755) EL support in task
by henry donnell (JIRA)
EL support in task
-------------------
Key: JBPM-2755
URL: https://jira.jboss.org/jira/browse/JBPM-2755
Project: jBPM
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: jBPM 4.4
Reporter: henry donnell
Fix For: jBPM 4.4
it would be helpful to be able to use EL in the <description> tag of the (human) task node.
This will allow to create dynamical task descriptions based on the process variables.
Example:
<task name="review_task">
<description>Review order nr.#{order.nr} from customer #{order.customer.name}</description>
</task>
The main purpose is to make human task descriptions in the task list more readable and user-friendly.
Because if you have 20 task instances of the same task and they are all called "Review order from customer" it is really hard to see at a first glance which task is related to which customer.
--
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
14 years, 10 months
[JBoss JIRA] Created: (JBPM-2642) A patch to support DB2 on zOS
by Richard L. Burton III (JIRA)
A patch to support DB2 on zOS
-----------------------------
Key: JBPM-2642
URL: https://jira.jboss.org/jira/browse/JBPM-2642
Project: jBPM
Issue Type: Patch
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 3.2.8, jBPM 3.2.7
Environment: Java version: 1.6.0_16,Sun Microsystems Inc., OS-System: Windows XP 5.1,x86, jboss-soa-p.4.3.0, DB2, version: DSN09015, Hibernate 3.2.4.sp1.cp08
Reporter: Richard L. Burton III
Priority: Blocker
Attachments: findJobsWithOverdueLockTime.patch
When using jBPM with DB2 on zOS the JobSession object throws an exception when trying to find jobs with overdue lock time. The exception thrown is:
DB2 SQL error: SQLCODE: -180, SQLSTATE: 22007, SQLERRMC: 1
I attached a patch which corrects this problem. Currently JobSession#findJobsWithOverdueLockTime(Date) is using Query#setDate(..) instead of Query#setTimestamp(...)
This isn't a problem when using the DB2 Universal version on windows, only on zOS.
--
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
14 years, 10 months