<?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 Dealing with activity failures in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193900#M147030</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi, we are trying to create management UI around process failures and we are running into two specific issues. This is in the context of numerous historical and long-running processes, so all queries must be paginated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The fisrt issue is that the act_ru_job is the only table that has a trace of the failures (exception_msg_), but it doesn't have anything too useful to sort on (as far as the user is concerned). So if the process has been running for year it is going to be really hard for the user to locate today's failure. Wouldn't it make sense to add a failure timestamp (or end_time_ or something) to that table?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The second issue is that while the DefaultHistoryManager recordActivityStart call inserts a row in act_hi_actinst as soon as the activity starts (at the FULL audit level which we are using), the failures causes a transaction rollback and there is eventually no entry actually written to the DB.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The consequence is that for a failed activity the only information we have in the DB is a BPMN act_id, which isn't very useful to the user.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am considering having recordActivityStart run in its own transaction, any guidance on how to properly implement this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Franck&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 27 Mar 2015 12:58:19 GMT</pubDate>
    <dc:creator>franck102</dc:creator>
    <dc:date>2015-03-27T12:58:19Z</dc:date>
    <item>
      <title>Dealing with activity failures</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193900#M147030</link>
      <description>Hi, we are trying to create management UI around process failures and we are running into two specific issues. This is in the context of numerous historical and long-running processes, so all queries must be paginated.The fisrt issue is that the act_ru_job is the only table that has a trace of the f</description>
      <pubDate>Fri, 27 Mar 2015 12:58:19 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193900#M147030</guid>
      <dc:creator>franck102</dc:creator>
      <dc:date>2015-03-27T12:58:19Z</dc:date>
    </item>
    <item>
      <title>Re: Dealing with activity failures</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193901#M147031</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&amp;gt; Wouldn't it make sense to add a failure timestamp (or end_time_ or something) to that table?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It would, yes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; The consequence is that for a failed activity the only information we have in the DB is a BPMN act_id, which isn't very useful to the user.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You could use this information to fetch the BpmnModel and get more information about the activity that failed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; I am considering having recordActivityStart run in its own transaction&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Not following what you mean with this&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Mar 2015 08:47:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193901#M147031</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2015-03-31T08:47:00Z</dc:date>
    </item>
    <item>
      <title>Re: Dealing with activity failures</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193902#M147032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;You could use this information to fetch the BpmnModel and get more information about the activity that failed.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Sure, but this is in the context of getting the "first" 20 failures or hundreds - and the fields available for pagination/sorting today are not very useful.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Take a system that has been running for a couple months and has hundreds of failures, there is no easy way today to get the 20 most recent ones to show the user, not without full table scans.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&amp;gt; I am considering having recordActivityStart run in its own transaction&lt;BR /&gt;&lt;BR /&gt;Not following what you mean with this&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Take a bogus Groovy script for example (var x = bogus_variable&lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;: when the activity starts, DefaultHistoryManager.recordActivityStart is called and queues an insert for act_hi_actinst; when the sctip fails however that insert is discarded as the transaction is rolled back.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As a result you can't match the job that failed with an activity in act_hi_actinst.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What I did for now is that I used a rollback listener to call recordActivityStart, this time after the transaction has been rolled back. I can now go from job-with-exception to execution to activity instance nad find out which activity triggered the failure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Mar 2015 12:28:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193902#M147032</guid>
      <dc:creator>franck102</dc:creator>
      <dc:date>2015-03-31T12:28:18Z</dc:date>
    </item>
    <item>
      <title>Re: Dealing with activity failures</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193903#M147033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&amp;gt; As a result you can't match the job that failed with an activity in act_hi_actinst.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;True, but then again the entries in that table are meant for successfully completed activities, hence why the implementation&amp;nbsp; is what it is.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But you are correct about showing the most recent ones (for async continuations at least, timer jobs can be sorted)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Apr 2015 12:23:31 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193903#M147033</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2015-04-07T12:23:31Z</dc:date>
    </item>
    <item>
      <title>Re: Dealing with activity failures</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193904#M147034</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Mar 2016 20:55:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/dealing-with-activity-failures/m-p/193904#M147034</guid>
      <dc:creator>rahuls16</dc:creator>
      <dc:date>2016-03-25T20:55:22Z</dc:date>
    </item>
  </channel>
</rss>

