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#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...