<?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 Setting Process Variable after complete: Process does nit finish correctly. in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162762#M116610</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We have a process, that finishes with a service task (db update). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[img]&lt;/SPAN&gt;&lt;A href="http://abload.de/img/capturedzrhx.png" rel="nofollow noopener noreferrer"&gt;http://abload.de/img/capturedzrhx.png&lt;/A&gt;&lt;SPAN&gt;[/img]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In there, we used runtimeService.setVariable(); to set another variable, if the database update was successfull or not.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(this method is called by the service task):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;public void updateContractEntity() throws RESTOperationFailedException, ReservedValueUsedException {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Post changes back to EntityStore.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.f(getClass(), "Updating Contract Entity in EntityStore.");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EntityAdapter ea = null;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ea = new EntityAdapter(oceProcessService.getProcessKey(businessProcess.getProcessInstance()));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ea.update("contract", processVariableMap, new Date());&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runtimeService.setVariable(businessProcess.getProcessInstance().getProcessInstanceId(), "dbUpdated", true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (ConfigurationException e) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Rethrow.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw new RESTOperationFailedException(e);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This causes the following problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When the process is completed, he is shown as RUNNING and Completed. (i.e. both, the historicService and the runtimeService are returning this process, when using the processQuery)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We noticed the following database inconsistences are generated:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Activitii dropped ALL Variables from the ACT_RU_VARIABLE, except the one that has been set above. (dbUpdated)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (I assume, that activiti IS flushing all the variables, and - while completing the transaction - creating the value.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Activiti setup the start- and endevent in ACT_HI_EXECUTION correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- Activiti did NOT delete everything from ACT_RU_EXECUTION. *&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;*In the log files we found that activiti was unable to delete the running execution, because the foreign key constraint with the ru_variable table failed:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;### Error updating database.&amp;nbsp; Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`oce2`.`ACT_RU_VARIABLE`, CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`))&lt;BR /&gt;### The error may involve org.activiti.engine.impl.persistence.entity.ExecutionEntity.deleteExecution-Inline&lt;BR /&gt;### The error occurred while setting parameters&lt;BR /&gt;### SQL: delete from ACT_RU_EXECUTION where ID_ = ?&lt;BR /&gt;### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`mydb`.`ACT_RU_VARIABLE`, CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:147)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.session.defaults.DefaultSqlSession.delete(DefaultSqlSession.java:158)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.db.DbSqlSession$DeleteById.execute(DbSqlSession.java:146)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.db.DbSqlSession.flushDeletes(DbSqlSession.java:483)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:371)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:157)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:109)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:49)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:59)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.TaskServiceImpl.complete(TaskServiceImpl.java:148)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.cdi.BusinessProcess.completeTask(BusinessProcess.java:350)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at my.namespace.controller.TaskViewController.completeTask(TaskViewController.java:268)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at my.namespace.controller.TaskViewController$Proxy$_$$_WeldClientProxy.completeTask(TaskViewController$Proxy$_$$_WeldClientProxy.java)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.reflect.Method.invoke(Method.java:597)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.el.parser.AstValue.invoke(AstValue.java:262)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.faces.component.UICommand.broadcast(UICommand.java:315)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.togglz.servlet.TogglzFilter.doFilter(TogglzFilter.java:58)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at my.namespace.filters.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:91)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at my.namespace.filters.EncodingFilter.doFilter(EncodingFilter.java:17)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at my.namespace.filters.NoCacheFilter.doFilter(NoCacheFilter.java:21)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.Thread.run(Thread.java:662)&lt;BR /&gt;Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`mydb`.`ACT_RU_VARIABLE`, CONSTRAINT `ACT_FK_VAR_EXE` FOREIGN KEY (`EXECUTION_ID_`) REFERENCES `ACT_RU_EXECUTION` (`ID_`))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.reflect.Constructor.newInstance(Constructor.java:513)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.Util.getInstance(Util.java:382)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1040)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:404)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:41)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:66)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:45)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:108)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:145)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 77 more&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 16 Sep 2013 10:20:10 GMT</pubDate>
    <dc:creator>dognose</dc:creator>
    <dc:date>2013-09-16T10:20:10Z</dc:date>
    <item>
      <title>Setting Process Variable after complete: Process does nit finish correctly.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162762#M116610</link>
      <description>Hello,We have a process, that finishes with a service task (db update). [img]http://abload.de/img/capturedzrhx.png[/img]In there, we used runtimeService.setVariable(); to set another variable, if the database update was successfull or not.(this method is called by the service task)&lt;IMG id="smileytongue" class="emoticon emoticon-smileytongue" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ublic void updat</description>
      <pubDate>Mon, 16 Sep 2013 10:20:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162762#M116610</guid>
      <dc:creator>dognose</dc:creator>
      <dc:date>2013-09-16T10:20:10Z</dc:date>
    </item>
    <item>
      <title>Re: Setting Process Variable after complete: Process does nit finish correctly.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162763#M116611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Do you have an isolated unit-test for this that can be run easily standalone with the configuration you're using? As this is quite trivial behaivour (saving variables), we have a lot of coverage for these kind of things. Could be that a specific configuration OR operation( or the moment you do it) is causing this issue.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Sep 2013 12:35:02 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162763#M116611</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2013-09-20T12:35:02Z</dc:date>
    </item>
    <item>
      <title>Re: Setting Process Variable after complete: Process does nit finish correctly.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162764#M116612</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We're having a similar issue that seems to be related to ACT-955:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### Error updating database.&amp;nbsp; Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity constraint (ACTIVITI.ACT_FK_VAR_EXE) violated - child record found&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;### The error may involve org.activiti.engine.impl.persistence.entity.ExecutionEntity.deleteExecution-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: delete from ACT_RU_EXECUTION where ID_ = ? and REV_ = ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;### Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity constraint (ACTIVITI.ACT_FK_VAR_EXE) violated - child record found&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;It seems to be related to having duplicate variables in ACT_RU_VARIABLE (note the REV is incremented):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2070893 2 string rootProcessDefinitionKey 1796751 1796751&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2068451 1 string rootProcessDefinitionKey 1796751 1796751&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After deleting one of these, we can complete the workflows…but I can't figure out how these dups are being created.&amp;nbsp; We use the REST API for all of our Activiti integration.&amp;nbsp; We've also only seen this issue in our production environment, which is 5.14.&amp;nbsp; Any ideas?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Apr 2014 21:26:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162764#M116612</guid>
      <dc:creator>aggiepilot04</dc:creator>
      <dc:date>2014-04-22T21:26:39Z</dc:date>
    </item>
    <item>
      <title>Re: Setting Process Variable after complete: Process does nit finish correctly.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162765#M116613</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Didn't make it all the way through the forum search results before posting…my bad.&amp;nbsp; Looks like this was resolved in 5.15 under ACT-1887.&amp;nbsp; I can't think of any place where we'd update a variable in separate threads, but somehow that is happening.&amp;nbsp; Since the fix is in setting the variables, we'll need to manually delete all of the dups from the table after the upgrade…correct?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Apr 2014 21:49:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162765#M116613</guid>
      <dc:creator>aggiepilot04</dc:creator>
      <dc:date>2014-04-22T21:49:22Z</dc:date>
    </item>
    <item>
      <title>Re: Setting Process Variable after complete: Process does nit finish correctly.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162766#M116614</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&amp;gt; Since the fix is in setting the variables, we'll need to manually delete all of the dups from the table after the upgrade…correct?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, it does seem like it unfortunately. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One thing to verify is that it works on 5.15.1, before doing the production upgrade. especially if you are mentioning that you aren't using multiple threads on the same process&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 07:32:34 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162766#M116614</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2014-04-24T07:32:34Z</dc:date>
    </item>
    <item>
      <title>Re: Setting Process Variable after complete: Process does nit finish correctly.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162767#M116615</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We are planning to change the ACT_FK_VAR_EXE constraint to cascade deletes.&amp;nbsp; Not sure why I didn't think about this before.&amp;nbsp; That should get us up and running on 5.14 without the risk of rushing an upgrade outside of a release cycle, and we also won't have to worry about deleting the dups.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regarding multipe threads…we are using execution listeners for setting a couple of variables on Start (rootProcessDefinitionKey and rootProcessInstanceId).&amp;nbsp; We use subprocesses/call activities extensively, and as variable names imply, this allows us to see what the base workflow is from the child process.&amp;nbsp; Since both the base workflow and the subprocess use the listener, we may be getting dups if the variable is set on both process instances before the first commit point.&amp;nbsp; The strange thing is that we can't recreate the problem in any pre-production environment (on either 5.14 or 5.15.1).&amp;nbsp; The only way to force the constraint violation is to manually insert the duplicate variables in the table.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyways, regardless of how the dups are being set (and whether or not it's fixed in 5.15.1), the cascading delete should resolve the issue.&amp;nbsp; Once we're on 5.15.1 in production, I will check to see if we're still getting runtime variable dups and report back.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2014 18:22:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162767#M116615</guid>
      <dc:creator>aggiepilot04</dc:creator>
      <dc:date>2014-04-24T18:22:17Z</dc:date>
    </item>
    <item>
      <title>Re: Setting Process Variable after complete: Process does nit finish correctly.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162768#M116616</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&amp;gt; We are planning to change the ACT_FK_VAR_EXE constraint to cascade deletes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Good thinking.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; Once we're on 5.15.1 in production, I will check to see if we're still getting runtime variable dups and report back.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Great. Looking forward to no dups &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Apr 2014 08:04:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162768#M116616</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2014-04-25T08:04:38Z</dc:date>
    </item>
    <item>
      <title>Re: Setting Process Variable after complete: Process does nit finish correctly.</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162769#M116617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Joram,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you please confirm if this issue is fixed in 15.5.1 .&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 May 2014 13:48:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/setting-process-variable-after-complete-process-does-nit-finish/m-p/162769#M116617</guid>
      <dc:creator>sharat</dc:creator>
      <dc:date>2014-05-10T13:48:47Z</dc:date>
    </item>
  </channel>
</rss>

