Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Error when syncing a configuration that has been moved #4698

hung ·

Hello Mr. Robin Shen, Mr. Steve Luo,

We are using QB12. There is an issue when we execute 'Sync Configurations' step after moved a configuration under a new parent:

Deleting configuration 'root/ADMIN/AB' as it does not exist in sync source...
Executing post-execute action...
Step 'master>sync_configuration' is failed.
org.hibernate.exception.ConstraintViolationException: could not execute statement
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:72)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:211)
at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:62)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3400)
at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3630)
at org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:114)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258)
at com.pmease.quickbuild.entitymanager.impl.DefaultConfigurationManager.delete(DefaultConfigurationManager.java:254)
at com.pmease.quickbuild.entitymanager.impl.DefaultConfigurationManager.delete(DefaultConfigurationManager.java:78)
at com.pmease.quickbuild.maintenance.ConfigurationSyncStep.syncConfiguration(ConfigurationSyncStep.java:270)
at com.pmease.quickbuild.maintenance.ConfigurationSyncStep.syncConfiguration(ConfigurationSyncStep.java:256)
at com.pmease.quickbuild.maintenance.ConfigurationSyncStep.run(ConfigurationSyncStep.java:195)
at com.pmease.quickbuild.maintenance.ConfigurationSyncStep$$EnhancerByCGLIB$$ef1141bd.CGLIB$run$10( )
at com.pmease.quickbuild.maintenance.ConfigurationSyncStep$$EnhancerByCGLIB$$ef1141bd$$FastClassByCGLIB$$8b17aa5b.invoke( )
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:267)
at com.pmease.quickbuild.maintenance.ConfigurationSyncStep$$EnhancerByCGLIB$$ef1141bd.run( )
at com.pmease.quickbuild.stepsupport.Step.doExecute(Step.java:682)
at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:582)
at com.pmease.quickbuild.stepsupport.StepExecutionJob.executeStepAwareJob(StepExecutionJob.java:31)
at com.pmease.quickbuild.stepsupport.StepAwareJob.executeBuildAwareJob(StepAwareJob.java:56)
at com.pmease.quickbuild.BuildAwareJob.execute(BuildAwareJob.java:79)
at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:131)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails ( qb_master. QB_AUDIT, CONSTRAINT FK_AUDIT_CONF FOREIGN KEY ( QB_CONFIGURATION_ID) REFERENCES QB_CONFIGURATION ( QB_ID))
    
Please help us investigate this issue.
Thank you

  • replies 1
  • views 30
  • stars 0
robinshen ADMIN ·

Tested with QB 12.0.29 here and it works fine. If you are running a customized version of QB, please make sure that cascade remove is available for audits field of Configuration.java:

@OneToMany(mappedBy="configuration", cascade={CascadeType.REMOVE})
private Collection<Audit> audits;