<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Process Gets stuck when parallel branch has no parallel join in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/process-gets-stuck-when-parallel-branch-has-no-parallel-join/m-p/4682#M2153</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We recently updated our Activiti version from 5.16.3 to 5.21, and we have found a scenario in one of our existing processes where a process will get stuck with no way to recover the process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically if you have a parallel gateway, one of the branches has a service task that is asynchronous, and the other branch is not asynchronous and flows through to an end event straight away, the branch that is asynchronous will never have a job fired to process the async continuation and be stuck forever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a sample process that illustrates the issue:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-1 jive-image j-img-original" src="/legacyfs/online/alfresco/12214_Screen Shot 2017-01-30 at 2.31.49 PM.png" style="height: auto;" /&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;definitions xmlns="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.omg.org/spec/BPMN/20100524/MODEL" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.omg.org/spec/BPMN/20100524/MODEL&lt;/A&gt;&lt;SPAN&gt;" xmlns:xsi="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema-instance" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;&lt;SPAN&gt;" xmlns:xsd="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;&lt;SPAN&gt;" xmlns:activiti="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://activiti.org/bpmn" rel="nofollow noopener noreferrer" target="_blank"&gt;http://activiti.org/bpmn&lt;/A&gt;&lt;SPAN&gt;" xmlns:bpmndi="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.omg.org/spec/BPMN/20100524/DI" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.omg.org/spec/BPMN/20100524/DI&lt;/A&gt;&lt;SPAN&gt;" xmlns&lt;img id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://connect.hyland.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;mgdc="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.omg.org/spec/DD/20100524/DC" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.omg.org/spec/DD/20100524/DC&lt;/A&gt;&lt;SPAN&gt;" xmlns&lt;img id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://connect.hyland.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt;mgdi="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.omg.org/spec/DD/20100524/DI" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.omg.org/spec/DD/20100524/DI&lt;/A&gt;&lt;SPAN&gt;" typeLanguage="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;&lt;SPAN&gt;" expressionLanguage="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.w3.org/1999/XPath" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.w3.org/1999/XPath&lt;/A&gt;&lt;SPAN&gt;" targetNamespace="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.activiti.org/test" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.activiti.org/test&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;process id="ParallelGatewayTest" name="My ParallelGatewayTest" isExecutable="true"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;startEvent id="startevent1" name="Start"&amp;gt;&amp;lt;/startEvent&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;serviceTask id="servicetask1" name="Asynchronous Task" activiti:async="true" activiti:class="com.example.SomeListener"&amp;gt;&amp;lt;/serviceTask&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;parallelGateway id="parallelgateway1" name="Parallel Gateway"&amp;gt;&amp;lt;/parallelGateway&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow1" sourceRef="startevent1" targetRef="parallelgateway1"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow2" sourceRef="parallelgateway1" targetRef="servicetask1"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;serviceTask id="shouldAlwaysRun" name="Is Never Run" activiti:class="com.example.SomeOtherListener"&amp;gt;&amp;lt;/serviceTask&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow3" sourceRef="servicetask1" targetRef="shouldAlwaysRun"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;endEvent id="endevent1" name="End"&amp;gt;&amp;lt;/endEvent&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow4" sourceRef="shouldAlwaysRun" targetRef="endevent1"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow5" sourceRef="parallelgateway1" targetRef="servicetask2"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;serviceTask id="servicetask2" name="Flow Through task" activiti:class="com.example.SomeThirdListener"&amp;gt;&amp;lt;/serviceTask&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow6" sourceRef="servicetask2" targetRef="endevent1"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;/process&amp;gt;&lt;BR /&gt;&amp;lt;/definitions&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Adding a parallel join at the end resolves the issue, but the process I am working with is much more complicated than this example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any other suggestions?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Jan 2017 03:38:29 GMT</pubDate>
    <dc:creator>mhanrahan</dc:creator>
    <dc:date>2017-01-30T03:38:29Z</dc:date>
    <item>
      <title>Process Gets stuck when parallel branch has no parallel join</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/process-gets-stuck-when-parallel-branch-has-no-parallel-join/m-p/4682#M2153</link>
      <description>We recently updated our Activiti version from 5.16.3 to 5.21, and we have found a scenario in one of our existing processes where a process will get stuck with no way to recover the process.Basically if you have a parallel gateway, one of the branches has a service task that is asynchronous, and the</description>
      <pubDate>Mon, 30 Jan 2017 03:38:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/process-gets-stuck-when-parallel-branch-has-no-parallel-join/m-p/4682#M2153</guid>
      <dc:creator>mhanrahan</dc:creator>
      <dc:date>2017-01-30T03:38:29Z</dc:date>
    </item>
    <item>
      <title>Re: Process Gets stuck when parallel branch has no parallel join</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/process-gets-stuck-when-parallel-branch-has-no-parallel-join/m-p/4683#M2154</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is a known architectural issue and one of the main reasons for the engine redesign that is part of version 6.&lt;/P&gt;&lt;P&gt;You can read about the problem here:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://www.jorambarrez.be/blog/2015/09/08/activiti-6-an-evolution-of-the-core-engine/" title="http://www.jorambarrez.be/blog/2015/09/08/activiti-6-an-evolution-of-the-core-engine/" rel="nofollow noopener noreferrer"&gt;Activiti 6: An Evolution of the Core Engine | Small steps with big feet&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Until you start using the Version 6 engine, you are best served using parallel joins after a parallel branch and I tend to use inclusive joins and branches as they tend to behave more predictably.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Greg&lt;/P&gt;&lt;P&gt;&lt;A href="https://migration33.stage.lithium.com/t5/tag/bp3/tg-p"&gt;&lt;/A&gt;‌&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Jan 2017 13:41:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/process-gets-stuck-when-parallel-branch-has-no-parallel-join/m-p/4683#M2154</guid>
      <dc:creator>gdharley</dc:creator>
      <dc:date>2017-01-31T13:41:52Z</dc:date>
    </item>
  </channel>
</rss>

