<< Back to previous view |
[QB-2310] org.hibernate.event.def.AbstractFlushingEventListener - Could not synchronize database state with session
|
|
Status: | Closed |
Project: | QuickBuild |
Component/s: | None |
Affects Version/s: | 5.1.40 |
Fix Version/s: | None |
Type: | Bug | Priority: | Critical |
Reporter: | AlSt | Assigned To: | Robin Shen |
Resolution: | Incomplete | Votes: | 0 |
Remaining Estimate: | Unknown | Time Spent: | Unknown |
Original Estimate: | Unknown |
Description |
The following exception occurred today:
2015-02-05 08:50:03,570 [pool-1-thread-3402] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 1452, SQLState: 23000 2015-02-05 08:50:03,572 [pool-1-thread-3402] ERROR org.hibernate.util.JDBCExceptionReporter - Cannot add or update a child row: a foreign key constraint fails (`quickbuild_rx`.`QB_BUILD`, CONSTRAINT `FK_BLD_PROMO_FR` FOREIGN KEY (`QB_PROMOTED_FROM_ID`) REFERENCES `QB_BUILD` (`QB_ID`)) 2015-02-05 08:50:03,572 [pool-1-thread-3402] ERROR org.hibernate.event.def.AbstractFlushingEventListener - 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:96) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:268) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:185) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133) at com.pmease.quickbuild.persistence.SessionInterceptor.invoke(SessionInterceptor.java:55) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52) at com.pmease.quickbuild.entitymanager.impl.DefaultBuildManager$$EnhancerByGuice$$555cdb38.save(<generated>) at com.pmease.quickbuild.entitymanager.impl.DefaultBuildManager.save(DefaultBuildManager.java:51) at com.pmease.quickbuild.DefaultBuildEngine.run(DefaultBuildEngine.java:617) at com.pmease.quickbuild.DefaultBuildEngine.process(DefaultBuildEngine.java:383) at com.pmease.quickbuild.DefaultBuildEngine.access$000(DefaultBuildEngine.java:131) at com.pmease.quickbuild.DefaultBuildEngine$2.run(DefaultBuildEngine.java:1076) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.BatchUpdateException: Cannot add or update a child row: a foreign key constraint fails (`quickbuild_rx`.`QB_BUILD`, CONSTRAINT `FK_BLD_PROMO_FR` FOREIGN KEY (`QB_PROMOTED_FROM_ID`) REFERENCES `QB_BUILD` (`QB_ID`)) at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2055) at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1467) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268) ... 21 more Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`quickbuild_rx`.`QB_BUILD`, CONSTRAINT `FK_BLD_PROMO_FR` FOREIGN KEY (`QB_PROMOTED_FROM_ID`) REFERENCES `QB_BUILD` (`QB_ID`)) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2834) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2441) at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2007) ... 25 more 2015-02-05 08:50:03,595 [pool-1-thread-3402] ERROR com.pmease.quickbuild.DefaultBuildEngine - Error processing build request. org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:268) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:185) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133) at com.pmease.quickbuild.persistence.SessionInterceptor.invoke(SessionInterceptor.java:55) at com.pmease.quickbuild.entitymanager.impl.DefaultBuildManager.save(DefaultBuildManager.java:51) at com.pmease.quickbuild.DefaultBuildEngine.run(DefaultBuildEngine.java:617) at com.pmease.quickbuild.DefaultBuildEngine.process(DefaultBuildEngine.java:383) at com.pmease.quickbuild.DefaultBuildEngine.access$000(DefaultBuildEngine.java:131) at com.pmease.quickbuild.DefaultBuildEngine$2.run(DefaultBuildEngine.java:1076) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.BatchUpdateException: Cannot add or update a child row: a foreign key constraint fails (`quickbuild_rx`.`QB_BUILD`, CONSTRAINT `FK_BLD_PROMO_FR` FOREIGN KEY (`QB_PROMOTED_FROM_ID`) REFERENCES `QB_BUILD` (`QB_ID`)) at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2055) at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1467) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268) ... 18 more Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`quickbuild_rx`.`QB_BUILD`, CONSTRAINT `FK_BLD_PROMO_FR` FOREIGN KEY (`QB_PROMOTED_FROM_ID`) REFERENCES `QB_BUILD` (`QB_ID`)) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2834) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2441) at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2007) ... 22 more Is this something we have to worry about or does it recover itself? |
Comments |
Comment by Robin Shen [ 05/Feb/15 08:39 AM ] |
This error indicates that a build is deleted while it is being promoted to another build. If this happens consistently, please check if have some script deleting a build while it is still being promoted. |