[jbpm-dev] [Design of JBoss jBPM] - Problem with db scripts for Oracle in v4.0 of jbpm

shekharv do-not-reply at jboss.com
Mon Aug 3 10:48:06 EDT 2009


Had a question about the QA process for jbpm. Here is the background:

We are trying to deploy the jbpm4.0GA release db scripts on the oracle db. There are a couple of problems with this : there are errors that come up when the script is run. refer to 
http://www.jboss.org/index.html?module=bb&op=viewtopic&t=159251

Then after we run the scripts, which does creates the tables properly, though, I tried to run the examples, but there is a error whenever there is an attempt to Start a Process instance.



  | WARNING: SQL Error: 2291, SQLState: 23000
  | Aug 3, 2009 7:39:33 AM org.hibernate.util.JDBCExceptionReporter logExceptions
  | SEVERE: ORA-02291: integrity constraint (SVC_GGOV.FK_HTI_HTASK) violated - parent key not found
  | 
  | Aug 3, 2009 7:39:33 AM org.hibernate.util.JDBCExceptionReporter logExceptions
  | WARNING: SQL Error: 2291, SQLState: 23000
  | Aug 3, 2009 7:39:33 AM org.hibernate.util.JDBCExceptionReporter logExceptions
  | SEVERE: ORA-02291: integrity constraint (SVC_GGOV.FK_HTI_HTASK) violated - parent key not found
  | 
  | Aug 3, 2009 7:39:33 AM org.hibernate.event.def.AbstractFlushingEventListener performExecutions
  | SEVERE: Could not synchronize database state with session
  | 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.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:84)
  | 	at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:54)
  | 	at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
  | 	at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:70)
  | 	at edu.apollogrp.taskengine.workflow.service.impl.ExecutionManagementServiceImpl.startProcessAndSignal(ExecutionManagementServiceImpl.java:54)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:597)
  | 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
  | 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
  | 	at $Proxy17.startProcessAndSignal(Unknown Source)
  | 	at edu.apollogrp.taskengine.workflow.logic.impl.WorkflowServiceImpl.createNewProcessInstanceAndStart(WorkflowServiceImpl.java:400)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:597)
  | 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
  | 	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
  | 	at $Proxy22.createNewProcessInstanceAndStart(Unknown Source)
  | 	at edu.apollogrp.taskengine.logic.event.TaskEventLogicImpl.raiseEvent(TaskEventLogicImpl.java:45)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:597)
  | 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
  | 	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  | 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
  | 	at $Proxy24.raiseEvent(Unknown Source)
  | 	at edu.apollogrp.taskengine.util.interpreter.commands.RaiseEventCommand.executeInternal(RaiseEventCommand.java:32)
  | 	at edu.apollogrp.taskengine.util.interpreter.commands.BaseInterpreterCommand.executeCommand(BaseInterpreterCommand.java:43)
  | 	at edu.apollogrp.taskengine.util.interpreter.WorkflowInterpreter.executeCommand(WorkflowInterpreter.java:95)
  | 	at edu.apollogrp.taskengine.util.interpreter.WorkflowInterpreter.executeCommand(WorkflowInterpreter.java:76)
  | 	at edu.apollogrp.taskengine.util.interpreter.BaseInterpreter.interpretCommand(BaseInterpreter.java:110)
  | 	at edu.apollogrp.taskengine.util.interpreter.BaseInterpreter.rep(BaseInterpreter.java:91)
  | 	at edu.apollogrp.taskengine.util.interpreter.BaseInterpreter.runMain(BaseInterpreter.java:54)
  | 	at edu.apollogrp.taskengine.util.interpreter.BaseInterpreter.runMain(BaseInterpreter.java:47)
  | 	at edu.apollogrp.taskengine.util.interpreter.WorkflowInterpreter.main(WorkflowInterpreter.java:46)
  | Caused by: java.sql.BatchUpdateException: ORA-02291: integrity constraint (SVC_GGOV.FK_HTI_HTASK) violated - parent key not found
  | 
  | 	at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
  | 	at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10768)
  | 	at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:294)
  | 	at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
  | 	at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
  | 	... 73 more
  | 
  | 

This happens when the script provided with jbpm is used to deploy the tables in an oracle database.

We work with Oracle 10g. 

This does not happen when the hbm2ddl property is turned on, as it is in the examples distribution. The examples work fine as long as the create-drop is enabled, if that is taken out and the examples are run against the  schema generated by the scripts, they start failing too.

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4247626#4247626

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4247626


More information about the jbpm-dev mailing list