Hello,
I'm currently evaluating QuickBuild for my company (Zend Technologies).
I have about 20 different configurations with active dependencies (using QuickBuild repositories) and source repositories (using File System repositories).
Sometimes, when I run all 20 configurations which gradually execute each other, I get following errors:
14:54:11,1 [co
code@vm-quickbuild:8810] ERROR - Step 'co code' is failed.
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at com.pmease.quickbuild.persistence.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
at com.google.inject.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:66)
at com.google.inject.InterceptorStackCallback.intercept(InterceptorStackCallback.java:45)
at com.pmease.quickbuild.entitymanager.impl.DefaultBuildManager$$EnhancerByGuice$$b86c5ead.save(<generated>)
at com.pmease.quickbuild.entitymanager.impl.DefaultBuildManager.save(DefaultBuildManager.java:1)
at com.pmease.quickbuild.DefaultBuildEngine.stepStatusChanged(DefaultBuildEngine.java:1133)
at com.pmease.quickbuild.stepsupport.Step.setStatus(Step.java:400)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$cfe19d45.CGLIB$setStatus$14(<generated>)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$cfe19d45$$FastClassByCGLIB$$387b511b.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at com.pmease.quickbuild.DefaultExpressionManager$Interpolator.intercept(DefaultExpressionManager.java:280)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$cfe19d45.setStatus(<generated>)
at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:509)
at com.pmease.quickbuild.stepsupport.StepJob.execute(StepJob.java:37)
at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:114)
at java.lang.Thread.run(Unknown Source)
Caused by: org.h2.jdbc.JdbcBatchUpdateException: Timeout trying to lock table QB_BUILD; SQL statement:
/* update com.pmease.quickbuild.model.Build */ update QB_BUILD set QB_BEGIN_DATE=?, QB_CONFIGURATION_ID=?, QB_DURATION=?, QB_ERROR_MESSAGE=?, QB_PROMOTION_SOURCE_ID=?, QB_REPOSITORYDOMS=?, QB_REQUEST_DATE=?, QB_SCHEDULED=?, QB_STATUS=?, QB_STATUS_DATE=?, QB_STEPDOMS=?, QB_USER_ID=?, QB_VERSION=? where QB_ID=? [50200-115]
at org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:1067)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
... 23 more
14:54:10,6 [
zwas-zdo@vm-quickbuild:8810] ERROR - Step 'zwas-zdo' is failed.
org.hibernate.exception.GenericJDBCException: could not load an entity: [com.pmease.quickbuild.model.Build#1139]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1874)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3044)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:395)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:375)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:139)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:98)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:836)
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
at org.hibernate.Hibernate.initialize(Hibernate.java:306)
at com.pmease.quickbuild.entitymanager.impl.AbstractEntityManager.load(AbstractEntityManager.java:74)
at com.pmease.quickbuild.entitymanager.impl.DefaultBuildManager$$EnhancerByGuice$$b86c5ead.CGLIB$load$32(<generated>)
at com.pmease.quickbuild.entitymanager.impl.DefaultBuildManager$$EnhancerByGuice$$b86c5ead$$FastClassByGuice$$9bc4fa8b.invoke(<generated>)
at com.google.inject.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:187)
at com.google.inject.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:66)
at com.pmease.quickbuild.persistence.TransactionInterceptor.invoke(TransactionInterceptor.java:50)
at com.google.inject.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:66)
at com.google.inject.InterceptorStackCallback.intercept(InterceptorStackCallback.java:45)
at com.pmease.quickbuild.entitymanager.impl.DefaultBuildManager$$EnhancerByGuice$$b86c5ead.load(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository.getChangesBetween(QuickbuildRepository.java:311)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.CGLIB$getChangesBetween$16(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816$$FastClassByCGLIB$$e36bfa6.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at com.pmease.quickbuild.DefaultExpressionManager$Interpolator.intercept(DefaultExpressionManager.java:280)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.getChangesBetween(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository.getChangesBetween(QuickbuildRepository.java:1)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.CGLIB$getChangesBetween$15(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816$$FastClassByCGLIB$$e36bfa6.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at com.pmease.quickbuild.DefaultExpressionManager$Interpolator.intercept(DefaultExpressionManager.java:280)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.getChangesBetween(<generated>)
at com.pmease.quickbuild.repositorysupport.Repository.getChangesSince(Repository.java:394)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.CGLIB$getChangesSince$44(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816$$FastClassByCGLIB$$e36bfa6.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at com.pmease.quickbuild.DefaultExpressionManager$Interpolator.intercept(DefaultExpressionManager.java:280)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.getChangesSince(<generated>)
at com.pmease.quickbuild.repositorysupport.Repository.getChanges(Repository.java:350)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.CGLIB$getChanges$30(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816$$FastClassByCGLIB$$e36bfa6.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at com.pmease.quickbuild.DefaultExpressionManager$Interpolator.intercept(DefaultExpressionManager.java:280)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.getChanges(<generated>)
at com.pmease.quickbuild.repositorysupport.Repository.getChanges(Repository.java:340)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.CGLIB$getChanges$31(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816$$FastClassByCGLIB$$e36bfa6.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at com.pmease.quickbuild.DefaultExpressionManager$Interpolator.intercept(DefaultExpressionManager.java:280)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$d4996816.getChanges(<generated>)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep.run(CheckoutStep.java:85)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$cfe19d45.CGLIB$run$0(<generated>)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$cfe19d45$$FastClassByCGLIB$$387b511b.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at com.pmease.quickbuild.DefaultExpressionManager$Interpolator.intercept(DefaultExpressionManager.java:280)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$cfe19d45.run(<generated>)
at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:498)
at com.pmease.quickbuild.stepsupport.StepJob.execute(StepJob.java:37)
at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:114)
at java.lang.Thread.run(Unknown Source)
Caused by: org.h2.jdbc.JdbcSQLException: Timeout trying to lock table QB_BUILD; SQL statement:
/* load com.pmease.quickbuild.model.Build */ select build0_.QB_ID as QB1_1_0_, build0_.QB_BEGIN_DATE as QB2_1_0_, build0_.QB_CONFIGURATION_ID as QB13_1_0_, build0_.QB_DURATION as QB3_1_0_, build0_.QB_ERROR_MESSAGE as QB4_1_0_, build0_.QB_PROMOTION_SOURCE_ID as QB14_1_0_, build0_.QB_REPOSITORYDOMS as QB5_1_0_, build0_.QB_REQUEST_DATE as QB6_1_0_, build0_.QB_SCHEDULED as QB7_1_0_, build0_.QB_STATUS as QB8_1_0_, build0_.QB_STATUS_DATE as QB9_1_0_, build0_.QB_STEPDOMS as QB10_1_0_, build0_.QB_USER_ID as QB12_1_0_, build0_.QB_VERSION as QB11_1_0_ from QB_BUILD build0_ where build0_.QB_ID=? [50200-115]
at org.h2.message.Message.getSQLException(Message.java:105)
at org.h2.message.Message.getSQLException(Message.java:116)
at org.h2.message.Message.getSQLException(Message.java:75)
at org.h2.table.TableData.doLock(TableData.java:435)
at org.h2.table.TableData.lock(TableData.java:373)
at org.h2.table.TableFilter.lock(TableFilter.java:110)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:549)
at org.h2.command.dml.Query.query(Query.java:234)
at org.h2.command.CommandContainer.query(CommandContainer.java:82)
at org.h2.command.Command.executeQueryLocal(Command.java:142)
at org.h2.command.Command.executeQuery(Command.java:123)
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:98)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
... 60 more