0 Replies Latest reply on Sep 15, 2010 3:32 PM by abdulrahman

    ConstraintViolationException in JBPM4_HIST_ACTINST table

    abdulrahman

      Hi,

       

      I am running into a ConstraintViolationException when executing a job in the jbpm.

       

      The constraint being violated is the primary key for the table JBPM4_HIST_ACTINST.

       

      There is no particular scenario when this issue happens, however the state transition involed is always a timed transition with a due time(escalation). And we are trying to trigger it manually.

       

      The only possible solution is that to disable the primary key in the history table. However we are not sure of its impact on jbpm's working.

       

      Please find below the exception trace. Please advise.

      org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

                      at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)

                      at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

                      at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)

                      at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)

                      at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)

                      at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)

                      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2252)

                      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2688)

                      at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)

                      at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)

                      at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)

                      at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)

                      at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)

                      at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)

                      at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)

                      at org.jbpm.pvm.internal.tx.HibernateSessionResource.prepare(HibernateSessionResource.java:56)

                      at org.jbpm.pvm.internal.tx.StandardTransaction.commit(StandardTransaction.java:106)

                      at org.jbpm.pvm.internal.tx.StandardTransaction.complete(StandardTransaction.java:65)

                      at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:61)

                      at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)

                      at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)

                      at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)

                      at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)

                      at org.jbpm.pvm.internal.svc.ManagementServiceImpl.executeJob(ManagementServiceImpl.java:37)

                      ......

                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                      at java.lang.reflect.Method.invoke(Method.java:597)

                      at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335)

                      at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:348)

                      at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)

                      at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)

                      at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)

                      at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)

                      at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)

                      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:95)

                      at javax.faces.component.UICommand.broadcast(UICommand.java:387)

                      at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)

                      at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)

                      at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)

                      at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)

                      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)

                      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)

                      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)

                      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

                      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

                      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

                      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)

                      at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

                      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

                      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)

                      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

                      at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)

                      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

                      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)

                      at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)

                      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

                      at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:86)

                      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

                      at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)

                      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

                      at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)

                      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

                      at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)

                      at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

                      at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)

                      at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)

                      at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)

                      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

                      at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)

                      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

                      at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)

                      at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

                      at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)

                      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

                      at com.dhl.ost.filter.AccessFilter.doFilter(Unknown Source)

                      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

                      at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

                      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

                      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)

                      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

                      at weblogic.security.service.SecurityManager.runAs(Unknown Source)

                      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)

                      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)

                      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)

                      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)

                      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

      Caused by: java.sql.BatchUpdateException: ORA-00001: unique constraint (OSTUSER1.JBPM4_HIST_ACTINST_PK) violated

       

                      at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:566)

                      at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9365)

                      at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:210)

                      at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:191)

                      at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)

                      at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)

                      ... 105 more