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

Key: QB-2001
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Piotr Jedrys
Votes: 0
Watchers: 1
Operations

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

Out of memory while parsing big junit xml file

Created: 31/Mar/14 07:45 AM   Updated: 03/Apr/14 04:07 AM
Component/s: None
Affects Version/s: 5.1.16
Fix Version/s: 5.1.19

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown


 Description  « Hide
Whenever QB step for parsing JUnit results tries to parse a big xml file (in our case 85MB of <system-out> and only 1MB of other data inside) the step fails with out of memory

{code}
02:16:41,543 ERROR - Step 'master>Publishing Artifacts>JUnit Report' is failed.
    com.pmease.quickbuild.plugin.report.engine.exception.DatabaseException: Open database [....] failed. Database status [No active connections].
        at com.pmease.quickbuild.plugin.report.engine.datastore.DbStore.open(DbStore.java:356)
        at com.pmease.quickbuild.plugin.report.engine.metadata.ReportCategory.saveReport(ReportCategory.java:368)
        at com.pmease.quickbuild.plugin.report.engine.generator.DefaultGenerator.saveDestReport(DefaultGenerator.java:81)
        at com.pmease.quickbuild.plugin.report.engine.generator.DefaultGenerator.afterExecute(DefaultGenerator.java:55)
        at com.pmease.quickbuild.plugin.report.engine.generator.GenerateAction.execute(GenerateAction.java:43)
        at com.pmease.quickbuild.plugin.report.engine.generator.DefaultGenerator.generate(DefaultGenerator.java:37)
        at com.pmease.quickbuild.plugin.report.engine.contribution.publisher.AbstractPublisher.doPublish(AbstractPublisher.java:162)
        at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c.CGLIB$doPublish$38(<generated>)
        at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c$$FastClassByCGLIB$$5ca46c78.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:273)
        at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c.doPublish(<generated>)
        at com.pmease.quickbuild.plugin.report.engine.contribution.publisher.AbstractPublisher.run(AbstractPublisher.java:129)
        at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c.CGLIB$run$31(<generated>)
        at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c$$FastClassByCGLIB$$5ca46c78.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
        at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:273)
        at com.pmease.quickbuild.plugin.report.junit.JUnitPublisher$$EnhancerByCGLIB$$81347d4c.run(<generated>)
        at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:539)
        at com.pmease.quickbuild.stepsupport.StepExecutionJob.executeStepAwareJob(StepExecutionJob.java:31)
        at com.pmease.quickbuild.stepsupport.StepAwareJob.executeBuildAwareJob(StepAwareJob.java:47)
        at com.pmease.quickbuild.BuildAwareJob.execute(BuildAwareJob.java:61)
        at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:71)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
    Caused by: com.pmease.quickbuild.plugin.report.engine.exception.DatabaseException: Unable to get connection from database url: jdbc:h2:/opt/buildagent/temp/abstractpublishereba9ce1d-7898-4820-bcfa-66b5f6dc04e6.../junit
        at com.pmease.quickbuild.plugin.report.engine.datastore.ConnectionManager.getConnection(ConnectionManager.java:25)
        at com.pmease.quickbuild.plugin.report.engine.datastore.DbStore.getConnection(DbStore.java:391)
        at com.pmease.quickbuild.plugin.report.engine.datastore.DbStore.open(DbStore.java:350)
        ... 28 more
    Caused by: org.h2.jdbc.JdbcSQLException: Out of memory. [90108-159]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
        at org.h2.message.DbException.get(DbException.java:158)
        at org.h2.message.DbException.convert(DbException.java:275)
        at org.h2.engine.Database.openDatabase(Database.java:250)
        at org.h2.engine.Database.<init>(Database.java:215)
        at org.h2.engine.Engine.openSession(Engine.java:56)
        at org.h2.engine.Engine.openSession(Engine.java:159)
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138)
        at org.h2.engine.Engine.createSession(Engine.java:121)
        at org.h2.engine.Engine.createSession(Engine.java:28)
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:285)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110)
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94)
        at org.h2.Driver.connect(Driver.java:72)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at com.pmease.quickbuild.plugin.report.engine.datastore.ConnectionManager.getConnection(ConnectionManager.java:23)
        ... 30 more
    Caused by: java.lang.OutOfMemoryError: Java heap space
{code}

 All   Comments   Work Log   Change History      Sort Order:
There are no comments yet on this issue.