<?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 Re: Deadlock while updating process variable (runTimeService.setVariable()) from multiple threads in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117667#M83097</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Postgres automatically locks a row when it's updated. So when there are multiple threads trying to update the same row, one of them fails. So if you need this multithreading functionality, you should expect such an exception and handle it (for example by retrying).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 23 May 2013 11:52:01 GMT</pubDate>
    <dc:creator>trademak</dc:creator>
    <dc:date>2013-05-23T11:52:01Z</dc:date>
    <item>
      <title>Deadlock while updating process variable (runTimeService.setVariable()) from multiple threads</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117664#M83094</link>
      <description>Using runTimeService.setVariable(myExecutionId, myVariableName, someValue); to set the processVariable from multiple threads results in a database deadlock.Running Activiti version: 5.12.112:42:34:185 WARN&amp;nbsp; [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http–0.0.0.0-8080-2) SQL Error: 0, SQLSta</description>
      <pubDate>Thu, 23 May 2013 09:05:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117664#M83094</guid>
      <dc:creator>zaki</dc:creator>
      <dc:date>2013-05-23T09:05:01Z</dc:date>
    </item>
    <item>
      <title>Re: Deadlock while updating process variable (runTimeService.setVariable()) from multiple threads</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117665#M83095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;A couple of questions:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Does it try to set variables on the same execution or is it for difference instances?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Is the variable a primitive or a POJO?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Do you have long running transactions? Because I also see that the stacktrace contains Hibernate classes, this means that you are reusing the transaction manager. How many tasks are you executing synchronously?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 May 2013 09:52:08 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117665#M83095</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-05-23T09:52:08Z</dc:date>
    </item>
    <item>
      <title>Re: Deadlock while updating process variable (runTimeService.setVariable()) from multiple threads</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117666#M83096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Using Activiti version "5.12".&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I posted "5.12.1" in the first post by mistake.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Does it try to set variables on the same execution or is it for difference instances?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It is the same execution (same processInstanceId).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Is the variable a primitive or a POJO?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The process variable is a JPA persistent entity.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Do you have long running transactions? Because I also see that the stacktrace contains Hibernate classes, this means that you are reusing the transaction manager. How many tasks are you executing synchronously?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The tasks are executed in a web environment, ie, each http request modifies some fields of the process variable (JPA entity) in its own transaction. Currently, this problem can be reproduced in our environment with just two http requests (two transactions). The transaction manager config is: &amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="entityManagerFactory" ref="entityManagerFactory" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;/bean&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;bean id="activitiProcessEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="databaseType" value="postgres" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="dataSource" ref="dataSource" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="transactionManager" ref="txManager" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="databaseSchemaUpdate" value="true" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jobExecutorActivate" value="false" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="transactionsExternallyManaged" value="true" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="idBlockSize" value="1" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="history" value="audit" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/bean&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Based on our logs, the queries causing the deadlock seem to be either for tables: "ACT_HI_VARINST" or "ACT_GE_BYTEARRAY".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Heres the log for the other table (from the one posted in the first post):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;14:41:14:868 WARN&amp;nbsp; [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http–0.0.0.0-8080-3) SQL Error: 0, SQLState: 40P01&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;14:41:14:874 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http–0.0.0.0-8080-3) ERROR: deadlock detected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Detail: Process 1074 waits for ShareLock on transaction 90498; blocked by process 1105.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Process 1105 waits for ShareLock on transaction 90497; blocked by process 1074.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Hint: See server log for query details.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;14:41:14:881 ERROR [org.activiti.engine.impl.interceptor.CommandContext] (http–0.0.0.0-8080-3) Error while closing command context: org.apache.ibatis.exceptions.PersistenceException: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### Error updating database.&amp;nbsp; Cause: org.hibernate.exception.GenericJDBCException: ERROR: deadlock detected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Detail: Process 1074 waits for ShareLock on transaction 90498; blocked by process 1105.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Process 1105 waits for ShareLock on transaction 90497; blocked by process 1074.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Hint: See server log for query details.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### The error may involve org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity.updateHistoricVariableInstance-Inline&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### The error occurred while setting parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### SQL: update ACT_HI_VARINST set&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REV_ = ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTEARRAY_ID_ = ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DOUBLE_ = ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LONG_ = ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEXT_ = ?,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEXT2_ = ?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where ID_ = ?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and REV_ = ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### Cause: org.hibernate.exception.GenericJDBCException: ERROR: deadlock detected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Detail: Process 1074 waits for ShareLock on transaction 90498; blocked by process 1105.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Process 1105 waits for ShareLock on transaction 90497; blocked by process 1074.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Hint: See server log for query details.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:147) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:651) [activiti-engine-5.12.jar:5.12]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:461) [activiti-engine-5.12.jar:5.12]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:168) [activiti-engine-5.12.jar:5.12]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:115) [activiti-engine-5.12.jar:5.12]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:70) [activiti-engine-5.12.jar:5.12]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42) [activiti-spring-5.12.jar:]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) [spring-tx-3.0.7.RELEASE.jar:3.0.7.RELEASE]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40) [activiti-spring-5.12.jar:]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:37) [activiti-engine-5.12.jar:5.12]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.activiti.engine.impl.RuntimeServiceImpl.setVariable(RuntimeServiceImpl.java:131) [activiti-engine-5.12.jar:5.12]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Caused by: org.hibernate.exception.GenericJDBCException: ERROR: deadlock detected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Detail: Process 1074 waits for ShareLock on transaction 90498; blocked by process 1105.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Process 1105 waits for ShareLock on transaction 90497; blocked by process 1074.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Hint: See server log for query details.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54) [hibernate-core-4.1.2.Final.jar:4.1.2.Final]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) [hibernate-core-4.1.2.Final.jar:4.1.2.Final]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) [hibernate-core-4.1.2.Final.jar:4.1.2.Final]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:129) [hibernate-core-4.1.2.Final.jar:4.1.2.Final]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81) [hibernate-core-4.1.2.Final.jar:4.1.2.Final]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at sun.proxy.$Proxy428.execute(Unknown Source)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) [:1.7.0_13]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_13]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_13]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at sun.proxy.$Proxy88.execute(Unknown Source)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:41) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:66) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:45) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:108) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:145) [mybatis-3.1.1.jar:3.1.1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; … 79 more&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Caused by: org.postgresql.util.PSQLException: ERROR: deadlock detected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Detail: Process 1074 waits for ShareLock on transaction 90498; blocked by process 1105.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Process 1105 waits for ShareLock on transaction 90497; blocked by process 1074.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Hint: See server log for query details.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157) [postgresql-9.2-1002.jdbc4.jar:]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886) [postgresql-9.2-1002.jdbc4.jar:]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) [postgresql-9.2-1002.jdbc4.jar:]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555) [postgresql-9.2-1002.jdbc4.jar:]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417) [postgresql-9.2-1002.jdbc4.jar:]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:410) [postgresql-9.2-1002.jdbc4.jar:]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:404)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at sun.reflect.GeneratedMethodAccessor332.invoke(Unknown Source) [:1.7.0_13]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_13]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_13]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) [hibernate-core-4.1.2.Final.jar:4.1.2.Final]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; … 92 more&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 May 2013 11:33:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117666#M83096</guid>
      <dc:creator>zaki</dc:creator>
      <dc:date>2013-05-23T11:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: Deadlock while updating process variable (runTimeService.setVariable()) from multiple threads</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117667#M83097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Postgres automatically locks a row when it's updated. So when there are multiple threads trying to update the same row, one of them fails. So if you need this multithreading functionality, you should expect such an exception and handle it (for example by retrying).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 May 2013 11:52:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117667#M83097</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-05-23T11:52:01Z</dc:date>
    </item>
    <item>
      <title>Re: Deadlock while updating process variable (runTimeService.setVariable()) from multiple threads</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117668#M83098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Is there any way I could use Optimistic locking for the Activiti tables? It would be easier to handle the OptimisticLockException or StaleObjectException at the application level instead of handling the database deadlock exceptions.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 26 May 2013 15:41:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117668#M83098</guid>
      <dc:creator>zaki</dc:creator>
      <dc:date>2013-05-26T15:41:18Z</dc:date>
    </item>
    <item>
      <title>Re: Deadlock while updating process variable (runTimeService.setVariable()) from multiple threads</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117669#M83099</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;There is no way for activiti to detect this kind of issue, other than when it get's the deadlock itself, so don't think any optimistic locking will do any good.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jun 2013 13:44:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/deadlock-while-updating-process-variable-runtimeservice/m-p/117669#M83099</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-06-04T13:44:53Z</dc:date>
    </item>
  </channel>
</rss>

