<?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 having problem with LockFreeJobExecutor in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/having-problem-with-lockfreejobexecutor/m-p/208670#M161800</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We are incubating activiti 5.16.4 in our dev environment with some regression testing for existed applications and also configured LockFreeJobExecutor implementation in activiti-context. During this process, I am facing a problem with LockfreeJobExecutor in parallel flow. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using a 2 way parallel flow implementation in my application. Each flow direction has its own human task and a serviceTask with timer and both are scheduled for same time. When serviceTask start executing, I will get 2 tasks at each parallel flow. To identify corresponding task, I passed taskDefKey as expression field to serviceTask. Here, I am getting taskDefKey expression value same for both service tasks.&amp;nbsp; BTW, with default JobExecutor implementation, both service tasks does their job flawlessly. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the log for the process. You can notice in below log for two job executor threads pool-1-thread-4, pool-1-thread-6.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.049]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-4::c.u.n.w.t.e.s.EscalationServiceTask:38 - ExecutionId : 10e2616a-7fbf-11e4-8f2f-020030001d3c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.057]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-6::c.u.n.w.t.e.s.EscalationServiceTask:38 - ExecutionId : 10e324bc-7fbf-11e4-8f2f-020030001d3c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.077]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-4::c.u.n.w.t.e.s.EscalationServiceTask:51 - tasks size: 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.078]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-4::c.u.n.w.t.e.s.EscalationServiceTask:62 - taskDefKey Expression value: ParallelTask1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.079]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-4::c.u.n.w.t.e.s.EscalationServiceTask:67 - returned taskItem getExpectedtTask: Task[id=0adaa609-7fbf-11e4-8f2f-020030001d3c, name=ParallelTask1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.080]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-4::c.u.n.w.t.e.s.EscalationServiceTask:43 - Task.execId : 0ad88323-7fbf-11e4-8f2f-020030001d3c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.084]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-6::c.u.n.w.t.e.s.EscalationServiceTask:51 - tasks size: 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.085]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-6::c.u.n.w.t.e.s.EscalationServiceTask:62 - taskDefKey Expression value: ParallelTask1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.086]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-6::c.u.n.w.t.e.s.EscalationServiceTask:67 - returned taskItem getExpectedtTask: Task[id=0adaa609-7fbf-11e4-8f2f-020030001d3c, name=ParallelTask1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.087]:&lt;img id="smileyvery-happy" class="emoticon emoticon-smileyvery-happy" src="https://connect.hyland.com/i/smilies/16x16_smiley-very-happy.png" alt="Smiley Very Happy" title="Smiley Very Happy" /&gt;EBUG:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-6::c.u.n.w.t.e.s.EscalationServiceTask:43 - Task.execId : 0ad88323-7fbf-11e4-8f2f-020030001d3c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.101]::INFO :&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-6::c.u.n.w.t.e.s.EscalationServiceTask:82 - -&amp;gt; EscalationServiceTask execute called with taskId : 0adaa609-7fbf-11e4-8f2f-020030001d3c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.102]::INFO :&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-6::c.u.n.w.t.e.s.EscalationServiceTask:87 - -&amp;gt; execute with parentProcessInstId : 0816a3aa-7fbf-11e4-8f2f-020030001d3c parentTaskId : 0adaa609-7fbf-11e4-8f2f-020030001d3c and parentTaskDefinition : ParallelTask1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.103]::INFO :&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-4::c.u.n.w.t.e.s.EscalationServiceTask:82 - -&amp;gt; EscalationServiceTask execute called with taskId : 0adaa609-7fbf-11e4-8f2f-020030001d3c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.104]::INFO :&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-4::c.u.n.w.t.e.s.EscalationServiceTask:87 - -&amp;gt; execute with parentProcessInstId : 0816a3aa-7fbf-11e4-8f2f-020030001d3c parentTaskId : 0adaa609-7fbf-11e4-8f2f-020030001d3c and parentTaskDefinition : ParallelTask1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and later, I am getting OptimisticLockingException as follows for one of the thread. pool-1-thread-6 won the race.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;09-Dec-2014[10:18:53.404]::ERROR:&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ool-1-thread-4:&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;rg.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable:71 - exception during job execution: HistoricVariableInstanceEntity[id=081d5b0e-7fbf-11e4-8f2f-020030001d3c, name=notificationMessageContent, revision=0, type=string, textValue=blah blah blah] was updated by another transaction concurrently&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;org.activiti.engine.ActivitiOptimisticLockingException: HistoricVariableInstanceEntity[id=081d5b0e-7fbf-11e4-8f2f-020030001d3c, name=notificationMessageContent, revision=0, type=string, textValue=blah blah blah] was updated by another transaction concurrently&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:780)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:591)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:211)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:137)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:66)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.handleSingleJob(ExecuteJobsRunnable.java:69)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.run(ExecuteJobsRunnable.java:52)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;at java.lang.Thread.run(Thread.java:745) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am just wondering that serviceTask expressions are not thread safe it seems while using LockFreeJobExecutor implementation.&amp;nbsp;&amp;nbsp; &amp;lt;b&amp;gt; Is it a bug or any configuration required??&amp;nbsp; &amp;lt;/b&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;lt;bean id="lockFreeJobExecutor" class="org.activiti.engine.impl.jobexecutor.LockFreeJobExecutor"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="queueSize" value="10" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="corePoolSize" value="10" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="maxPoolSize" value="50" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="keepAliveTime" value="5000" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jobFetchBatchSize" value="200" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;lt;/bean&amp;gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please suggest me some solution.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Swamy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 09 Dec 2014 17:27:01 GMT</pubDate>
    <dc:creator>swamy2156</dc:creator>
    <dc:date>2014-12-09T17:27:01Z</dc:date>
    <item>
      <title>having problem with LockFreeJobExecutor</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/having-problem-with-lockfreejobexecutor/m-p/208670#M161800</link>
      <description>We are incubating activiti 5.16.4 in our dev environment with some regression testing for existed applications and also configured LockFreeJobExecutor implementation in activiti-context. During this process, I am facing a problem with LockfreeJobExecutor in parallel flow. I am using a 2 way parallel</description>
      <pubDate>Tue, 09 Dec 2014 17:27:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/having-problem-with-lockfreejobexecutor/m-p/208670#M161800</guid>
      <dc:creator>swamy2156</dc:creator>
      <dc:date>2014-12-09T17:27:01Z</dc:date>
    </item>
    <item>
      <title>Re: having problem with LockFreeJobExecutor</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/having-problem-with-lockfreejobexecutor/m-p/208671#M161801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The LockFreeJobExecutor was an early prototype. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It will be removed in the 5.17 release and superseded by the AsyncExecutor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;With 5.16.4, the recommended approach is the default Job Executor.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 18:16:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/having-problem-with-lockfreejobexecutor/m-p/208671#M161801</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2014-12-09T18:16:58Z</dc:date>
    </item>
    <item>
      <title>Re: having problem with LockFreeJobExecutor</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/having-problem-with-lockfreejobexecutor/m-p/208672#M161802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the info joram. What is the tentative date for v5.17??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Dec 2014 18:23:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/having-problem-with-lockfreejobexecutor/m-p/208672#M161802</guid>
      <dc:creator>swamy2156</dc:creator>
      <dc:date>2014-12-09T18:23:29Z</dc:date>
    </item>
  </channel>
</rss>

