<< Back to previous view |
![]() |
[QB-489] Sometimes dependent builds fail.
|
|
Status: | Resolved |
Project: | QuickBuild |
Component/s: | None |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Bug | Priority: | Critical |
Reporter: | Pini Reznik | Assigned To: | Robin Shen |
Resolution: | Won't Fix | Votes: | 0 |
Remaining Estimate: | Unknown | Time Spent: | Unknown |
Original Estimate: | Unknown | ||
Environment: |
System Date and Time 2009-12-21 15:01:51
Operating System Windows 2003 5.2, x86 JVM Java HotSpot(TM) Client VM 14.2-b01, Sun Microsystems Inc. QuickBuild Version 2.0.11 - Tue Dec 08 09:15:33 IST 2009 Total Memory 127 MB Used Memory 105 MB Memory Usage 85% OS User Name packaging |
Description |
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 |
Comments |
Comment by Robin Shen [ 21/Dec/09 02:10 PM ] |
This error can be avoided by switching to an external database (such as MySQL). The embedded H2 database is only used for demonstration purpose and does not work well well under heavy load. Please follow this guide on how to migrate your data to an external database:
http://wiki.pmease.com/display/qb2/Data+Management |
Comment by Pini Reznik [ 21/Dec/09 06:47 PM ] |
After connecting to MySQL it's working well.
Thanks |