<?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 FormService.submitStartFormData thread safety issue in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142792#M99952</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We are developing an application in which many processes are started from multiple threads in parallel via FormService.submitStartFormData().&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We start different processes with different sets of form properties.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Somtimes it happens that submitStartFormData starts the wrong process. The result is that the process gets the wrong properties which causes the process to fail. The more processes we start in parallel, the more threads we have. This increases the likeliness of the issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When we sychronize the call to processInstance.start in org.activiti.engine.impl.cmd.SubmitStartFormCmd.execute it works without problems.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;synchronized(SyncObj.class){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; processInstance.start();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems that ExecutionEntity.start is not thread safe.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is that true?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 12 Jan 2013 09:49:27 GMT</pubDate>
    <dc:creator>kaech</dc:creator>
    <dc:date>2013-01-12T09:49:27Z</dc:date>
    <item>
      <title>FormService.submitStartFormData thread safety issue</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142792#M99952</link>
      <description>Hi,We are developing an application in which many processes are started from multiple threads in parallel via FormService.submitStartFormData().We start different processes with different sets of form properties.Somtimes it happens that submitStartFormData starts the wrong process. The result is tha</description>
      <pubDate>Sat, 12 Jan 2013 09:49:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142792#M99952</guid>
      <dc:creator>kaech</dc:creator>
      <dc:date>2013-01-12T09:49:27Z</dc:date>
    </item>
    <item>
      <title>Re: FormService.submitStartFormData thread safety issue</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142793#M99953</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;How do you start processes…? Example code?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 12 Jan 2013 09:56:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142793#M99953</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2013-01-12T09:56:08Z</dc:date>
    </item>
    <item>
      <title>Re: FormService.submitStartFormData thread safety issue</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142794#M99954</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Ronald,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;we have a Web Service implemented with CXF.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In the Web Service request we do the following: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt;String processKey = .. obtain key from request&lt;BR /&gt;ProcessDefinition pd = activitiRepositoryService.createProcessDefinitionQuery().processDefinitionKey(processKey).latestVersion().singleResult();&lt;BR /&gt;String businessKey = UUID.randomUUID().toString();&lt;BR /&gt;Map&amp;lt;String, String&amp;gt; formVariables = obtain properties from request&lt;BR /&gt;activitiformService.submitStartFormData(pd.getId(), businessKey, formVariables);&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;We have two processes with one version each deployed. So all in all two procedure definitions in the database.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;submitStartFormData is called with the correct parameters. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From what I see processInstance.start() in org.activiti.engine.impl.cmd.SubmitStartFormCmd.execute is called properly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When we start at least two threads and thread 2 calls start() before thread 1 start() finished, the problem occurs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thread 1, Process A, Properties A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thread 2, Process B, Properties B&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Result:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thread 1, Process B, Properties A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thread 2, Process B, Properties B &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kaech&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 13 Jan 2013 08:53:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142794#M99954</guid>
      <dc:creator>kaech</dc:creator>
      <dc:date>2013-01-13T08:53:51Z</dc:date>
    </item>
    <item>
      <title>Re: FormService.submitStartFormData thread safety issue</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142795#M99955</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've just double-checked in the code, and a submitStartFormCommand instance is completely isolated from other instances. The variables are submitted to an ExecutionEntity, created locally in the execute method. Is it possible to create a unit-test highlighting this issue (perhaps with waiting-service tasks or something to simulate waits/threading issues)?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Jan 2013 09:03:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142795#M99955</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-01-15T09:03:32Z</dc:date>
    </item>
    <item>
      <title>Re: FormService.submitStartFormData thread safety issue</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142796#M99956</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Are you use the Activiti 5.8 or Activiti 5.11 engine?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Jan 2013 19:52:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142796#M99956</guid>
      <dc:creator>udoderk</dc:creator>
      <dc:date>2013-01-15T19:52:00Z</dc:date>
    </item>
    <item>
      <title>Re: FormService.submitStartFormData thread safety issue</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142797#M99957</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;@udoderk: I am using 5.10&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;@frederikheremans: Unfortunately I don't have time at the moment. The synchonization hack works for the time being. I will create something, if I&amp;nbsp; have more time.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jan 2013 11:16:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/formservice-submitstartformdata-thread-safety-issue/m-p/142797#M99957</guid>
      <dc:creator>kaech</dc:creator>
      <dc:date>2013-01-16T11:16:05Z</dc:date>
    </item>
  </channel>
</rss>

