cancel
Showing results for 
Search instead for 
Did you mean: 

Seeing issue with latest version of 5.17

ganeshr
Champ in-the-making
Champ in-the-making
We are seeing one odd behavior after upgrading from 5.15 to 5.17.
We have a business process with multiple human tasks. When the first task is completed then the process should create a second task, here second task is getting created however three create events are getting triggered with three different task id's for the same second task and with same business process id. And finally out of three only one row is getting created in ACT_RU_TASK table and seems two task id's are getting rollbacked. Not able to figure out why it is generating three task create events for the same task with different task id's instead of one.

Activiti engine is running in cluster mode(4 clusters)
Here is the log from three clusters:

Cluster 1:
15-Jan-2015[13:06:05.415]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-202:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope:42 - create scope: parent ProcessInstance[65cbde96-9ce9-11e4-bc2d-020030001d4b] continues as execution ScopeExecution[8e259cce-9ce9-11e4-90d0-020030001d69]
15-Jan-2015[13:06:05.416]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-202:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute:45 - ScopeExecution[8e259cce-9ce9-11e4-90d0-020030001d69] executes Activity(CustomerAcceptanceHumanTask): org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior
15-Jan-2015[13:06:16.302]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-205:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope:50 - moving concurrent ConcurrentExecution[94a2af3a-9ce9-11e4-90d0-020030001d69] one scope up under ProcessInstance[65cbde96-9ce9-11e4-bc2d-020030001d4b]


Cluster 2:
15-Jan-2015[13:05:57.160]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-107:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute:45 - ProcessInstance[5d78c652-9c20-11e4-85d7-020030001b9b] executes Activity(endevent1): org.activiti.engine.impl.bpmn.behavior.NoneEndEventActivityBehavior
15-Jan-2015[13:06:06.131]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-151:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope:42 - create scope: parent ProcessInstance[65cbde96-9ce9-11e4-bc2d-020030001d4b] continues as execution ScopeExecution[8e935254-9ce9-11e4-87d8-020030001d4c]
15-Jan-2015[13:06:06.132]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-151:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute:45 - ScopeExecution[8e935254-9ce9-11e4-87d8-020030001d4c] executes Activity(CustomerAcceptanceHumanTask): org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior
15-Jan-2015[13:06:43.815]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-144:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope:99 - destroy scope: scoped ScopeExecution[7a9cf252-9c20-11e4-9668-020030001bb0] continues as parent scope ProcessInstance[7a9ca50a-9c20-11e4-9668-020030001bb0]


cluster 3:
15-Jan-2015[13:05:11.286]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-138:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope:50 - moving concurrent ConcurrentExecution[6de27d12-9ce9-11e4-bc2d-020030001d4b] one scope up under ProcessInstance[65cbde96-9ce9-11e4-bc2d-020030001d4b]
15-Jan-2015[13:05:11.287]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-138:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope:75 - merging last concurrent ConcurrentExecution[6de207e1-9ce9-11e4-bc2d-020030001d4b] into concurrent root ConcurrentScopeExecution[6741dd16-9ce9-11e4-bc2d-020030001d4b]
15-Jan-2015[13:05:12.229]:Smiley Very HappyEBUG:Smiley Tongueool-1-thread-138:Smiley Surprisedrg.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake:62 -


Process instance id - 65cbde96-9ce9-11e4-bc2d-020030001d4b

Can any help me in resolving this..

Thanks.
14 REPLIES 14

trademak
Star Contributor
Star Contributor
I would some more information to fully understand your process and environment. Do you complete the first user task via the Java API? Are you using activiti:async somewhere in your process definition. If you are not using activiti:async how can other members of the cluster be triggered? Please provide some more information.

Best regards,

ganeshr
Champ in-the-making
Champ in-the-making
Yes, we are completing the first task via the activiti API using FormService
   formService.submitTaskFormData(task.getId(), formVariables);

Yes our process definition contains the activiti:async="true" property. But I'm thinking this is to execute the next sequence in asynchronously and not to execute them by multiple job executors, is that not correct?

  And also we have configured the asyncExecutor in activiti-context.xml
 
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
    <property name="dataSource" ref="workflowDataSource" />
    <property name="transactionManager" ref="workflowTransactionManager" />
    <property name="history" value="full" />
    <property name="databaseSchemaUpdate" value="false" />
    <property name="jobExecutorActivate" value="true" />
    <property name="asyncExecutorEnabled" value="true" />
    <property name="asyncExecutorActivate" value="true" />
    <property name="asyncExecutor" ref="asyncExecutor" />
    <property name="processEngineName" value="default"></property>
    <property name="enableDatabaseEventLogging" value="false" />
    <property name="idGenerator">
      <bean class="org.activiti.engine.impl.persistence.StrongUuidGenerator" />
    </property>
  </bean>
 
  <bean id="asyncExecutor" class="org.activiti.engine.impl.asyncexecutor.DefaultAsyncJobExecutor">
    <property name="corePoolSize" value="10" />
  
    <property name="maxPoolSize" value="50" />
    <property name="keepAliveTime" value="3000" />
    <property name="queueSize" value="10" />
    <property name="maxTimerJobsPerAcquisition" value="2" />
    <property name="maxAsyncJobsDuePerAcquisition" value="2" />
    <property name="defaultAsyncJobAcquireWaitTimeInMillis" value="1000" />
    <property name="defaultTimerJobAcquireWaitTimeInMillis" value="1000" />
    <property name="timerLockTimeInMillis" value="60000" />
    <property name="asyncJobLockTimeInMillis" value="60000" />
  </bean>
 

ganeshr
Champ in-the-making
Champ in-the-making

<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
    <property name="dataSource" ref="workflowDataSource" />
    <property name="transactionManager" ref="workflowTransactionManager" />
    <property name="history" value="full" />
    <property name="databaseSchemaUpdate" value="false" />
    <property name="jobExecutorActivate" value="true" />
    <property name="asyncExecutorEnabled" value="true" />
    <property name="asyncExecutorActivate" value="true" />
    <property name="asyncExecutor" ref="asyncExecutor" />
    <property name="processEngineName" value="default"></property>
    <property name="enableDatabaseEventLogging" value="false" />
    <property name="idGenerator">
      <bean class="org.activiti.engine.impl.persistence.StrongUuidGenerator" />
    </property>
  </bean>
 
  <bean id="asyncExecutor" class="org.activiti.engine.impl.asyncexecutor.DefaultAsyncJobExecutor">
    <property name="corePoolSize" value="10" />
    <!–
      Max pool size should not increase than database connection pool. Otherwise, will face exception like all database
      connections are use
    –>
    <property name="maxPoolSize" value="50" />
    <property name="keepAliveTime" value="3000" />
    <property name="queueSize" value="10" />
    <property name="maxTimerJobsPerAcquisition" value="2" />
    <property name="maxAsyncJobsDuePerAcquisition" value="2" />
    <property name="defaultAsyncJobAcquireWaitTimeInMillis" value="1000" />
    <property name="defaultTimerJobAcquireWaitTimeInMillis" value="1000" />
    <property name="timerLockTimeInMillis" value="60000" />
    <property name="asyncJobLockTimeInMillis" value="60000" />
  </bean>

jbarrez
Star Contributor
Star Contributor
> But I'm thinking this is to execute the next sequence in asynchronously and not to execute them by multiple job executors, is that not correct?

Yes, only one job executor will execute it.

I assume the job executor is enabled on all nodes? Can you post the process xml that is failing? Is it as simple as start->task->task->taks ?

ganeshr
Champ in-the-making
Champ in-the-making
Yes, Job executor is enabled in all nodes.

Please find the attached process-xml.txt

ganeshr
Champ in-the-making
Champ in-the-making
Yes, job executor is enabled in all nodes.

I'm trying to paste the xml, but the request is going to administrator for approval.

process xml has multiple human tasks and gateways for decisions to invoke next human task.

ganeshr
Champ in-the-making
Champ in-the-making
Is this happening because of job executor enabled in all nodes?


Here is the process xml :

<code>
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlnsSmiley Surprisedmgdc="http://www.omg.org/spec/DD/20100524/DC" xmlnsSmiley Surprisedmgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
  <process id="clearance_tail_process" name="clearance_tail_process" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <exclusiveGateway id="exclusivegateway1" name="Exclusive Gateway"></exclusiveGateway>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="exclusivegateway1"></sequenceFlow>
    <userTask id="MarketingFinalPricingHumantask" name="MarketingFinalPricingHumantask" activiti:async="true" activiti:exclusive="false" activiti:candidateGroups="${MarketingFinalPricingHumantask_AssignedGroupUser}">
      <extensionElements>
        <activiti:formProperty id="CustomActions" name="CustomActions" type="enum">
          <activiti:value id="TERMINATE" name="TERMINATE"></activiti:value>
          <activiti:value id="CUSTOMER_ACCEPTANCE" name="CUSTOMER ACCEPTANCE"></activiti:value>
        </activiti:formProperty>
        <activiti:taskListener event="all" expression="#{workflowTaskListner.notify(task)}"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow2" sourceRef="exclusivegateway1" targetRef="MarketingFinalPricingHumantask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='MDSC_FINAL_PRICE'}]]></conditionExpression>
    </sequenceFlow>
    <userTask id="CustomerAcceptanceHumanTask" name="CustomerAcceptanceHumanTask" activiti:async="true" activiti:exclusive="false" activiti:candidateGroups="${CustomerAcceptanceHumanTask_AssignedGroupUser}">
      <extensionElements>
        <activiti:formProperty id="CustomActions" name="CustomActions" type="enum">
          <activiti:value id="TERMINATE" name="TERMINATE"></activiti:value>
          <activiti:value id="SITE_LOCATE" name="SITE LOCATE"></activiti:value>
          <activiti:value id="NOTIFY_ORIGIN_ROAD" name="NOTIFY ORIGIN ROAD"></activiti:value>
        </activiti:formProperty>
        <activiti:taskListener event="all" expression="#{workflowTaskListner.notify(task)}"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow3" sourceRef="MarketingFinalPricingHumantask" targetRef="CustomerAcceptanceHumanTask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='CUSTOMER_ACCEPTANCE'}]]></conditionExpression>
    </sequenceFlow>
    <userTask id="MarketingIPIndustrialDevelopmentHumanTask" name="MarketingIPIndustrialDevelopmentHumanTask" activiti:async="true" activiti:exclusive="false" activiti:candidateGroups="${MarketingIPIndustrialDevelopmentHumanTask_AssignedGroupUser}">
      <extensionElements>
        <activiti:formProperty id="CustomActions" name="CustomActions" type="enum">
          <activiti:value id="TERMINATE" name="TERMINATE"></activiti:value>
          <activiti:value id="RAIL_ACCESS" name="RAIL ACCESS"></activiti:value>
        </activiti:formProperty>
        <activiti:taskListener event="all" expression="#{workflowTaskListner.notify(task)}"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow4" sourceRef="exclusivegateway1" targetRef="MarketingIPIndustrialDevelopmentHumanTask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='UP_MOVE_ACCEPT_TR'}]]></conditionExpression>
    </sequenceFlow>
    <userTask id="NotifyOriginRoadUserHumanTask" name="NotifyOriginRoadUserHumanTask" activiti:async="true" activiti:exclusive="false" activiti:candidateGroups="${NotifyOriginRoadUserHumanTask_AssignedGroupUser}">
      <extensionElements>
        <activiti:taskListener event="all" expression="#{workflowTaskListner.notify(task)}"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow5" sourceRef="exclusivegateway1" targetRef="NotifyOriginRoadUserHumanTask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='NOTIFY_ORIGIN_ROAD' || CustomActions=='BRIDGE_MOVE_ACCEPT_TR'}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flow6" sourceRef="CustomerAcceptanceHumanTask" targetRef="NotifyOriginRoadUserHumanTask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='NOTIFY_ORIGIN_ROAD'}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flow7" sourceRef="CustomerAcceptanceHumanTask" targetRef="MarketingIPIndustrialDevelopmentHumanTask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='SITE_LOCATE'}]]></conditionExpression>
    </sequenceFlow>
    <userTask id="MarketingIPRailAccessReviewHumantask" name="MarketingIPRailAccessReviewHumantask" activiti:async="true" activiti:exclusive="false" activiti:candidateGroups="${MarketingIPRailAccessReviewHumantask_AssignedGroupUser}">
      <extensionElements>
        <activiti:formProperty id="CustomActions" name="CustomActions" type="enum">
          <activiti:value id="TERMINATE" name="TERMINATE"></activiti:value>
          <activiti:value id="SITE_LOCATE" name="SITE LOCATE"></activiti:value>
          <activiti:value id="BUSINESS_ANALYSIS" name="BUSINESS ANALYSIS"></activiti:value>
        </activiti:formProperty>
        <activiti:taskListener event="all" expression="#{workflowTaskListner.notify(task)}"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow8" sourceRef="MarketingIPIndustrialDevelopmentHumanTask" targetRef="MarketingIPRailAccessReviewHumantask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='RAIL_ACCESS'}]]></conditionExpression>
    </sequenceFlow>
    <userTask id="MarketingBusinessAnalysisReviewHumantask" name="MarketingBusinessAnalysisReviewHumantask" activiti:async="true" activiti:exclusive="false" activiti:candidateGroups="${MarketingBusinessAnalysisReviewHumantask_AssignedGroupUser}">
      <extensionElements>
        <activiti:formProperty id="CustomActions" name="CustomActions" type="enum">
          <activiti:value id="TERMINATE" name="TERMINATE"></activiti:value>
          <activiti:value id="TRACK_AGREEMENT" name="TRACK AGREEMENT"></activiti:value>
        </activiti:formProperty>
        <activiti:taskListener event="all" expression="#{workflowTaskListner.notify(task)}"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow9" sourceRef="MarketingIPRailAccessReviewHumantask" targetRef="MarketingBusinessAnalysisReviewHumantask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='BUSINESS_ANALYSIS'}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flow10" sourceRef="MarketingIPRailAccessReviewHumantask" targetRef="MarketingIPIndustrialDevelopmentHumanTask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='SITE_LOCATE'}]]></conditionExpression>
    </sequenceFlow>
    <userTask id="MarketingRealEstateTrackAgreementHumantask" name="MarketingRealEstateTrackAgreementHumantask" activiti:async="true" activiti:exclusive="false" activiti:candidateGroups="${MarketingRealEstateTrackAgreementHumantask_AssignedGroupUser}">
      <extensionElements>
        <activiti:formProperty id="CustomActions" name="CustomActions" type="enum">
          <activiti:value id="TERMINATE" name="TERMINATE"></activiti:value>
          <activiti:value id="NOTIFY_ORIGIN_ROAD" name="NOTIFY ORIGIN ROAD"></activiti:value>
        </activiti:formProperty>
        <activiti:taskListener event="all" expression="#{workflowTaskListner.notify(task)}"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow11" sourceRef="MarketingBusinessAnalysisReviewHumantask" targetRef="MarketingRealEstateTrackAgreementHumantask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='TRACK_AGREEMENT'}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flow12" sourceRef="MarketingRealEstateTrackAgreementHumantask" targetRef="NotifyOriginRoadUserHumanTask">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='NOTIFY_ORIGIN_ROAD'}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow13" sourceRef="MarketingFinalPricingHumantask" targetRef="endevent1">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='TERMINATE'}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent2" name="End"></endEvent>
    <sequenceFlow id="flow14" sourceRef="CustomerAcceptanceHumanTask" targetRef="endevent2">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='TERMINATE'}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent3" name="End"></endEvent>
    <sequenceFlow id="flow15" sourceRef="MarketingIPIndustrialDevelopmentHumanTask" targetRef="endevent3">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='TERMINATE'}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent4" name="End"></endEvent>
    <sequenceFlow id="flow16" sourceRef="MarketingIPRailAccessReviewHumantask" targetRef="endevent4">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='TERMINATE'}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent5" name="End"></endEvent>
    <sequenceFlow id="flow17" sourceRef="MarketingBusinessAnalysisReviewHumantask" targetRef="endevent5">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='TERMINATE'}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent6" name="End"></endEvent>
    <sequenceFlow id="flow18" sourceRef="MarketingRealEstateTrackAgreementHumantask" targetRef="endevent6">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='TERMINATE'}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent7" name="End"></endEvent>
    <sequenceFlow id="flow19" sourceRef="NotifyOriginRoadUserHumanTask" targetRef="endevent7">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${CustomActions=='COMPLETE_PROPOSAL'}]]></conditionExpression>
    </sequenceFlow>
    <boundaryEvent id="boundarytimer1" name="Timer" attachedToRef="MarketingFinalPricingHumantask" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT10S</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="boundarytimer2" name="Timer" attachedToRef="CustomerAcceptanceHumanTask" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT10S</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="boundarytimer3" name="Timer" attachedToRef="MarketingIPIndustrialDevelopmentHumanTask" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT10S</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="boundarytimer4" name="Timer" attachedToRef="MarketingIPRailAccessReviewHumantask" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT10S</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="boundarytimer5" name="Timer" attachedToRef="MarketingBusinessAnalysisReviewHumantask" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT10S</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="boundarytimer6" name="Timer" attachedToRef="MarketingRealEstateTrackAgreementHumantask" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT10S</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <boundaryEvent id="boundarytimer7" name="Timer" attachedToRef="NotifyOriginRoadUserHumanTask" cancelActivity="false">
      <timerEventDefinition>
        <timeDuration>PT10S</timeDuration>
      </timerEventDefinition>
    </boundaryEvent>
    <serviceTask id="escaltionServiceTask" name="escaltionServiceTask" activiti:async="true" activiti:exclusive="false" activiti:delegateExpression="#{escalationServiceTask}">
      <extensionElements>
        <activiti:field name="notificationMailContent">
          <activiti:string><![CDATA[This is to inform you that the following task(s) have been assigned to you: %n%n For more information,visit the Dimensional Clearance Application: https://${hostUrl}/dim/secure/jas/activitiWorklist]]></activiti:string>
        </activiti:field>
        <activiti:field name="notificationMailSubject">
          <activiti:string><![CDATA[${source} workflow task created (${env} environment)]]></activiti:string>
        </activiti:field>
        <activiti:field name="reassignMailSubject">
          <activiti:string><![CDATA[UP Workflow Notification - ${env}]]></activiti:string>
        </activiti:field>
        <activiti:field name="taskDefinitionKey">
          <activiti:string><![CDATA[Marketing Final Pricing Task Escalation]]></activiti:string>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <serviceTask id="servicetask1" name="escaltionServiceTask" activiti:async="true" activiti:exclusive="false" activiti:delegateExpression="#{escalationServiceTask}">
      <extensionElements>
        <activiti:field name="notificationMailContent">
          <activiti:string><![CDATA[This is to inform you that the following task(s) have been assigned to you: %n%n For more information,visit the Dimensional Clearance Application: https://${hostUrl}/dim/secure/jas/activitiWorklist]]></activiti:string>
        </activiti:field>
        <activiti:field name="notificationMailSubject">
          <activiti:string><![CDATA[${source} workflow task created (${env} environment)]]></activiti:string>
        </activiti:field>
        <activiti:field name="reassignMailSubject">
          <activiti:string><![CDATA[UP Workflow Notification - ${env}]]></activiti:string>
        </activiti:field>
        <activiti:field name="taskDefinitionKey">
          <activiti:string><![CDATA[Customer Acceptance Task Escalation]]></activiti:string>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <serviceTask id="servicetask2" name="escaltionServiceTask" activiti:async="true" activiti:exclusive="false" activiti:delegateExpression="#{escalationServiceTask}">
      <extensionElements>
        <activiti:field name="notificationMailContent">
          <activiti:string><![CDATA[This is to inform you that the following task(s) have been assigned to you: %n%n For more information,visit the Dimensional Clearance Application: https://${hostUrl}/dim/secure/jas/activitiWorklist]]></activiti:string>
        </activiti:field>
        <activiti:field name="notificationMailSubject">
          <activiti:string><![CDATA[${source} workflow task created (${env} environment)]]></activiti:string>
        </activiti:field>
        <activiti:field name="reassignMailSubject">
          <activiti:string><![CDATA[UP Workflow Notification - ${env}]]></activiti:string>
        </activiti:field>
        <activiti:field name="taskDefinitionKey">
          <activiti:string><![CDATA[Industrial Development Task Escalation]]></activiti:string>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <serviceTask id="servicetask3" name="escaltionServiceTask" activiti:async="true" activiti:exclusive="false" activiti:delegateExpression="#{escalationServiceTask}">
      <extensionElements>
        <activiti:field name="notificationMailContent">
          <activiti:string><![CDATA[This is to inform you that the following task(s) have been assigned to you: %n%n For more information,visit the Dimensional Clearance Application: https://${hostUrl}/dim/secure/jas/activitiWorklist]]></activiti:string>
        </activiti:field>
        <activiti:field name="notificationMailSubject">
          <activiti:string><![CDATA[${source} workflow task created (${env} environment)]]></activiti:string>
        </activiti:field>
        <activiti:field name="reassignMailSubject">
          <activiti:string><![CDATA[UP Workflow Notification - ${env}]]></activiti:string>
        </activiti:field>
        <activiti:field name="taskDefinitionKey">
          <activiti:string><![CDATA[Rail Access Task Escalation]]></activiti:string>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <serviceTask id="servicetask4" name="escaltionServiceTask" activiti:async="true" activiti:exclusive="false" activiti:delegateExpression="#{escalationServiceTask}">
      <extensionElements>
        <activiti:field name="notificationMailContent">
          <activiti:string><![CDATA[This is to inform you that the following task(s) have been assigned to you: %n%n For more information,visit the Dimensional Clearance Application: https://${hostUrl}/dim/secure/jas/activitiWorklist]]></activiti:string>
        </activiti:field>
        <activiti:field name="notificationMailSubject">
          <activiti:string><![CDATA[${source} workflow task created (${env} environment)]]></activiti:string>
        </activiti:field>
        <activiti:field name="reassignMailSubject">
          <activiti:string><![CDATA[UP Workflow Notification - ${env}]]></activiti:string>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <serviceTask id="servicetask5" name="escaltionServiceTask" activiti:async="true" activiti:exclusive="false" activiti:delegateExpression="#{escalationServiceTask}">
      <extensionElements>
        <activiti:field name="notificationMailContent">
          <activiti:string><![CDATA[This is to inform you that the following task(s) have been assigned to you: %n%n For more information,visit the Dimensional Clearance Application: https://${hostUrl}/dim/secure/jas/activitiWorklist]]></activiti:string>
        </activiti:field>
        <activiti:field name="notificationMailSubject">
          <activiti:string><![CDATA[${source} workflow task created (${env} environment)]]></activiti:string>
        </activiti:field>
        <activiti:field name="reassignMailSubject">
          <activiti:string><![CDATA[UP Workflow Notification - ${env}]]></activiti:string>
        </activiti:field>
        <activiti:field name="taskDefinitionKey">
          <activiti:string><![CDATA[Track Agreement Task Escalation]]></activiti:string>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <serviceTask id="servicetask6" name="escaltionServiceTask" activiti:async="true" activiti:exclusive="false" activiti:delegateExpression="#{escalationServiceTask}">
      <extensionElements>
        <activiti:field name="notificationMailContent">
          <activiti:string><![CDATA[This is to inform you that the following task(s) have been assigned to you: %n%n For more information,visit the Dimensional Clearance Application: https://${hostUrl}/dim/secure/jas/activitiWorklist]]></activiti:string>
        </activiti:field>
        <activiti:field name="notificationMailSubject">
          <activiti:string><![CDATA[${source} workflow task created (${env} environment)]]></activiti:string>
        </activiti:field>
        <activiti:field name="reassignMailSubject">
          <activiti:string><![CDATA[UP Workflow Notification - ${env}]]></activiti:string>
        </activiti:field>
        <activiti:field name="taskDefinitionKey">
          <activiti:string><![CDATA[Notify Origin Road Task Escalation]]></activiti:string>
        </activiti:field>
      </extensionElements>
    </serviceTask>
    <sequenceFlow id="flow20" sourceRef="boundarytimer1" targetRef="escaltionServiceTask"></sequenceFlow>
    <sequenceFlow id="flow21" sourceRef="boundarytimer2" targetRef="servicetask1"></sequenceFlow>
    <sequenceFlow id="flow22" sourceRef="boundarytimer3" targetRef="servicetask2"></sequenceFlow>
    <sequenceFlow id="flow23" sourceRef="boundarytimer4" targetRef="servicetask3"></sequenceFlow>
    <sequenceFlow id="flow24" sourceRef="boundarytimer5" targetRef="servicetask4"></sequenceFlow>
    <sequenceFlow id="flow25" sourceRef="boundarytimer6" targetRef="servicetask5"></sequenceFlow>
    <sequenceFlow id="flow26" sourceRef="boundarytimer7" targetRef="servicetask6"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_clearance_tail_process">
    <bpmndi:BPMNPlane bpmnElement="clearance_tail_process" id="BPMNPlane_clearance_tail_process">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="190.0" y="190.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
        <omgdc:Bounds height="40.0" width="40.0" x="270.0" y="187.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="MarketingFinalPricingHumantask" id="BPMNShape_MarketingFinalPricingHumantask">
        <omgdc:Bounds height="55.0" width="105.0" x="480.0" y="90.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer1" id="BPMNShape_boundarytimer1">
        <omgdc:Bounds height="30.0" width="30.0" x="520.0" y="88.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="CustomerAcceptanceHumanTask" id="BPMNShape_CustomerAcceptanceHumanTask">
        <omgdc:Bounds height="55.0" width="105.0" x="700.0" y="90.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer2" id="BPMNShape_boundarytimer2">
        <omgdc:Bounds height="30.0" width="30.0" x="740.0" y="89.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="MarketingIPIndustrialDevelopmentHumanTask" id="BPMNShape_MarketingIPIndustrialDevelopmentHumanTask">
        <omgdc:Bounds height="55.0" width="105.0" x="910.0" y="173.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer3" id="BPMNShape_boundarytimer3">
        <omgdc:Bounds height="30.0" width="30.0" x="985.0" y="172.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="NotifyOriginRoadUserHumanTask" id="BPMNShape_NotifyOriginRoadUserHumanTask">
        <omgdc:Bounds height="55.0" width="105.0" x="700.0" y="373.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer7" id="BPMNShape_boundarytimer7">
        <omgdc:Bounds height="30.0" width="30.0" x="760.0" y="371.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="MarketingIPRailAccessReviewHumantask" id="BPMNShape_MarketingIPRailAccessReviewHumantask">
        <omgdc:Bounds height="55.0" width="127.0" x="1149.0" y="173.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer4" id="BPMNShape_boundarytimer4">
        <omgdc:Bounds height="30.0" width="30.0" x="1209.0" y="171.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="MarketingBusinessAnalysisReviewHumantask" id="BPMNShape_MarketingBusinessAnalysisReviewHumantask">
        <omgdc:Bounds height="70.0" width="105.0" x="1160.0" y="366.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer5" id="BPMNShape_boundarytimer5">
        <omgdc:Bounds height="30.0" width="30.0" x="1235.0" y="379.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="MarketingRealEstateTrackAgreementHumantask" id="BPMNShape_MarketingRealEstateTrackAgreementHumantask">
        <omgdc:Bounds height="55.0" width="105.0" x="940.0" y="373.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="boundarytimer6" id="BPMNShape_boundarytimer6">
        <omgdc:Bounds height="30.0" width="30.0" x="1000.0" y="372.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="660.0" y="30.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent2" id="BPMNShape_endevent2">
        <omgdc:Bounds height="35.0" width="35.0" x="842.0" y="30.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent3" id="BPMNShape_endevent3">
        <omgdc:Bounds height="35.0" width="35.0" x="945.0" y="259.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent4" id="BPMNShape_endevent4">
        <omgdc:Bounds height="35.0" width="35.0" x="1320.0" y="183.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent5" id="BPMNShape_endevent5">
        <omgdc:Bounds height="35.0" width="35.0" x="1195.0" y="480.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent6" id="BPMNShape_endevent6">
        <omgdc:Bounds height="35.0" width="35.0" x="975.0" y="480.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent7" id="BPMNShape_endevent7">
        <omgdc:Bounds height="35.0" width="35.0" x="735.0" y="480.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="escaltionServiceTask" id="BPMNShape_escaltionServiceTask">
        <omgdc:Bounds height="55.0" width="105.0" x="482.0" y="-10.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask1" id="BPMNShape_servicetask1">
        <omgdc:Bounds height="55.0" width="105.0" x="702.0" y="-24.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask2" id="BPMNShape_servicetask2">
        <omgdc:Bounds height="55.0" width="105.0" x="950.0" y="-10.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask3" id="BPMNShape_servicetask3">
        <omgdc:Bounds height="55.0" width="105.0" x="1171.0" y="-10.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask4" id="BPMNShape_servicetask4">
        <omgdc:Bounds height="55.0" width="105.0" x="1330.0" y="366.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask5" id="BPMNShape_servicetask5">
        <omgdc:Bounds height="55.0" width="105.0" x="1014.0" y="273.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="servicetask6" id="BPMNShape_servicetask6">
        <omgdc:Bounds height="55.0" width="105.0" x="776.0" y="273.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="225.0" y="207.0"></omgdi:waypoint>
        <omgdi:waypoint x="270.0" y="207.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="290.0" y="187.0"></omgdi:waypoint>
        <omgdi:waypoint x="290.0" y="117.0"></omgdi:waypoint>
        <omgdi:waypoint x="480.0" y="117.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
        <omgdi:waypoint x="585.0" y="117.0"></omgdi:waypoint>
        <omgdi:waypoint x="700.0" y="117.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
        <omgdi:waypoint x="310.0" y="207.0"></omgdi:waypoint>
        <omgdi:waypoint x="910.0" y="200.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
        <omgdi:waypoint x="290.0" y="227.0"></omgdi:waypoint>
        <omgdi:waypoint x="290.0" y="400.0"></omgdi:waypoint>
        <omgdi:waypoint x="700.0" y="400.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
        <omgdi:waypoint x="752.0" y="145.0"></omgdi:waypoint>
        <omgdi:waypoint x="752.0" y="373.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
        <omgdi:waypoint x="805.0" y="117.0"></omgdi:waypoint>
        <omgdi:waypoint x="962.0" y="117.0"></omgdi:waypoint>
        <omgdi:waypoint x="962.0" y="173.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow8" id="BPMNEdge_flow8">
        <omgdi:waypoint x="1015.0" y="200.0"></omgdi:waypoint>
        <omgdi:waypoint x="1149.0" y="200.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
        <omgdi:waypoint x="1212.0" y="228.0"></omgdi:waypoint>
        <omgdi:waypoint x="1212.0" y="366.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
        <omgdi:waypoint x="1212.0" y="173.0"></omgdi:waypoint>
        <omgdi:waypoint x="1212.0" y="123.0"></omgdi:waypoint>
        <omgdi:waypoint x="990.0" y="123.0"></omgdi:waypoint>
        <omgdi:waypoint x="962.0" y="173.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
        <omgdi:waypoint x="1160.0" y="401.0"></omgdi:waypoint>
        <omgdi:waypoint x="1045.0" y="400.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
        <omgdi:waypoint x="940.0" y="400.0"></omgdi:waypoint>
        <omgdi:waypoint x="805.0" y="400.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13">
        <omgdi:waypoint x="532.0" y="90.0"></omgdi:waypoint>
        <omgdi:waypoint x="677.0" y="65.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14">
        <omgdi:waypoint x="752.0" y="90.0"></omgdi:waypoint>
        <omgdi:waypoint x="859.0" y="65.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15">
        <omgdi:waypoint x="962.0" y="228.0"></omgdi:waypoint>
        <omgdi:waypoint x="962.0" y="259.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow16" id="BPMNEdge_flow16">
        <omgdi:waypoint x="1276.0" y="200.0"></omgdi:waypoint>
        <omgdi:waypoint x="1320.0" y="200.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17">
        <omgdi:waypoint x="1212.0" y="436.0"></omgdi:waypoint>
        <omgdi:waypoint x="1212.0" y="480.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow18" id="BPMNEdge_flow18">
        <omgdi:waypoint x="992.0" y="428.0"></omgdi:waypoint>
        <omgdi:waypoint x="992.0" y="480.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow19" id="BPMNEdge_flow19">
        <omgdi:waypoint x="752.0" y="428.0"></omgdi:waypoint>
        <omgdi:waypoint x="752.0" y="480.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow20" id="BPMNEdge_flow20">
        <omgdi:waypoint x="535.0" y="88.0"></omgdi:waypoint>
        <omgdi:waypoint x="534.0" y="45.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21">
        <omgdi:waypoint x="755.0" y="89.0"></omgdi:waypoint>
        <omgdi:waypoint x="754.0" y="31.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22">
        <omgdi:waypoint x="1000.0" y="172.0"></omgdi:waypoint>
        <omgdi:waypoint x="1002.0" y="45.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23">
        <omgdi:waypoint x="1224.0" y="171.0"></omgdi:waypoint>
        <omgdi:waypoint x="1223.0" y="45.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24">
        <omgdi:waypoint x="1265.0" y="394.0"></omgdi:waypoint>
        <omgdi:waypoint x="1330.0" y="393.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25">
        <omgdi:waypoint x="1015.0" y="372.0"></omgdi:waypoint>
        <omgdi:waypoint x="1066.0" y="328.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow26" id="BPMNEdge_flow26">
        <omgdi:waypoint x="775.0" y="371.0"></omgdi:waypoint>
        <omgdi:waypoint x="828.0" y="328.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
</code>

ganeshr
Champ in-the-making
Champ in-the-making
I'm not able to attach or paste the process xml here, as it is allways saying
- > Your comment has been queued for review by site administrators and will be published after approval.

ganeshr
Champ in-the-making
Champ in-the-making
Above is the process xml we are using….

If we change human task to Exlusive then one node is executing asynchronously and creating single task, but if the task is asynchronous then all nodes are creating human task. Is this a bug or it is the default behavior?