History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-489
Type: Bug Bug
Status: Resolved Resolved
Resolution: Won't Fix
Priority: Critical Critical
Assignee: Robin Shen
Reporter: Pini Reznik
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Sometimes dependent builds fail.

Created: 21/Dec/09 01:09 PM   Updated: 21/Dec/09 06:47 PM
Return to search
Component/s: None
Affects Version/s: None
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: 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  « Hide
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

 All   Comments   Work Log   Change History      Sort Order:
Pini Reznik [21/Dec/09 06:47 PM]
After connecting to MySQL it's working well.
Thanks

Change by Robin Shen [21/Dec/09 02:10 PM]
Field Original Value New Value
Status Open [ 1 ] Resolved [ 5 ]
Resolution Won't Fix [ 2 ]

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