Data Object fails with Exceed the file length

VSafonov
edited February 11, 2022 in Analytics #1


<p> </p>
<p style="text-align:left;">Trying to run a data object in <span style="color:rgb(70,70,70);text-align:center;">BIRT iHub 3.1 (Build 231A150206)</span></p>
<p style="text-align:left;"> </p>
<p style="text-align:left;"><span style="color:rgb(70,70,70);text-align:center;">Fails with following:</span></p>
<p> </p>
<p style="text-align:left;"><span style="font-size:10px;"><span style="font-family:'courier new', courier, monospace;">Exceed the file length.<br>
Exceed the file length.org.eclipse.birt.data.engine.core.DataException: Exceed the file length.<br>
Exceed the file length.<br>
at com.actuate.birt.data.engine.impl.index.BTreeIndex.insertToBTree(BTreeIndex.java:285)<br>
at com.actuate.birt.data.engine.impl.index.BTreeIndex.close(BTreeIndex.java:225)<br>
at com.actuate.birt.data.storage.column.impl.DataSetWriter.close(DataSetWriter.java:779)<br>
at org.eclipse.birt.data.engine.executor.transform.SimpleResultSet.close(SimpleResultSet.java:363)<br>
at org.eclipse.birt.data.engine.impl.QueryResultsUtil.doGeneration(QueryResultsUtil.java:215)<br>
at org.eclipse.birt.data.engine.impl.QueryResultsUtil.processOdiResult(QueryResultsUtil.java:68)<br>
at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:191)<br>
at com.actuate.birt.report.engine.internal.datamart.DatamartRunTask.executeDataSet(DatamartRunTask.java:492)<br>
at com.actuate.birt.report.engine.internal.datamart.DatamartRunTask.executeAllDataOjbect(DatamartRunTask.java:347)<br>
at com.actuate.birt.report.engine.internal.datamart.DatamartRunTask.run(DatamartRunTask.java:209)<br>
at com.actuate.reportapi.engine.birt.ReportGenerationTask.runTask(ReportGenerationTask.java:1145)<br>
at com.actuate.reportapi.engine.birt.ReportGenerationTask.generateReport(ReportGenerationTask.java:237)<br>
at com.actuate.reportapi.engine.ReportGenerationTaskBase.doTask(ReportGenerationTaskBase.java:153)<br>
at com.actuate.reportapi.engine.Task.execute(Task.java:325)<br>
at com.actuate.reportapi.enginemanager.ThreadPool$ControlRunnable.run(ThreadPool.java:808)<br>
at java.lang.Thread.run(Thread.java:745)<br>
Caused by: java.io.EOFException: Exceed the file length.<br>
at org.eclipse.birt.core.archive.compound.ArchiveEntryInputStream.seek(ArchiveEntryInputStream.java:222)<br>
at com.actuate.birt.data.engine.impl.index.ArchiveOutputFile.readBlock(BTreeIndex.java:1096)<br>
at org.eclipse.birt.core.btree.BTree$ReusableBTreeFile.readBlock(BTree.java:1016)<br>
at org.eclipse.birt.core.btree.NodeInputStream.available(NodeInputStream.java:84)<br>
at org.eclipse.birt.core.btree.NodeInputStream.read(NodeInputStream.java:42)<br>
at java.io.DataInputStream.readInt(DataInputStream.java:387)<br>
at org.eclipse.birt.core.btree.BTree.loadBTreeNode(BTree.java:609)<br>
at org.eclipse.birt.core.btree.IndexNode.insert(IndexNode.java:206)<br>
at org.eclipse.birt.core.btree.BTree.insertEntry(BTree.java:317)<br>
at org.eclipse.birt.core.btree.BTree.insertEntry(BTree.java:262)<br>
at org.eclipse.birt.core.btree.BTree.insert(BTree.java:453)<br>
at com.actuate.birt.data.engine.impl.index.BTreeIndex.doInsert(BTreeIndex.java:305)<br>
at com.actuate.birt.data.engine.impl.index.BTreeIndex.insertToBTree(BTreeIndex.java:278)<br>
... 15 more$$$Result$$$<br>
Report generation failed. Cause: Exceed the file length.<br>
Exceed the file length.</span></span></p>
<p style="text-align:left;"> </p>
<p style="text-align:left;"> </p>
<p style="text-align:left;">Any Idea what's causing it? .data builds fine with the designer.<br>
 </p>


<p> </p>
Warning No formatter is installed for the format ipb

Comments

  • <p>Is the data object connecting to the same data source and pulling in the same data as in the designer?</p>
    <p>Can you reproduce this issue with multiple data objects or only this one data object?</p>
    <p> </p>
    <p>If you have a support agreement for this environment, I would recommend contacting support.</p>
    Warning No formatter is installed for the format ipb
  • <p>I don't know if you're still having this issue 6 weeks later, but for anyone coming in from Google...</p>
    <p> </p>
    <p>I ran into this issue as well (iHub 3.1). I had an identical stack trace, the data object works in the designer (Generate) but fails on the server (schedule).</p>
    <p> </p>
    <p>I managed to get around it by disabling all indexes on columns</p>
    <p style="margin-left:40px;">Edit Data Set -></p>
    <p style="margin-left:40px;">Output Columns -></p>
    <p style="margin-left:40px;">uncheck "Index this column in generated datadesign for faster lookup"</p>
    <p> </p>
    <p>I have multiple data sets of different types (CSV source, 2 databases, a joined dataset, etc) and indexes on different data types (string, integers, datetime). I also didn't measure the impact on performance.</p>
    <p> </p>
    <p>It's all I need for my project for now, but if I manage to narrow it down further I'll share the results.</p>
  • <p>Thank you for providing the workaround you have found for the issue.</p>
    <p> </p>
    <p>If you can provide a reproducible test case that I can run within my environment, I can work on investigating the issue further to try and determine a cause.</p>
    Warning No formatter is installed for the format ipb
  • <p>Honestly, I'm new to BIRT, and I got lucky with the workaround. :)</p>
    <p> </p>
    <p>Are there any guidelines or recommendations to provide reproducible test cases? Obviously my database connections aren't transferable to your environment.</p>
    <p> </p>
    <p>Since I'm assuming the problem is with the indexes (and possibly their interaction with the data model) I'll see if I can reproduce the issue with a scripted data source when I get a chance.</p>
  • <p>A scripted Data Source will work.</p>
    <p> </p>
    <p>Otherwise, you can use a flat file with sample data or there is also the Classic Models sample data base built into the designer.</p>
    Warning No formatter is installed for the format ipb
  • Hi,

    I am facing same issue as java.io.EOFException: Exceed the file length. when I ran my report which has very huge data like millions of data for my report. Report is working fine when I have small amount of data

    below is some stack trace.

    com.actuate.schemas.ActuateSoapBindingImpl getIVUpdatedObjects
    SEVERE: An error occurred while viewing the report. There is non-fatal error. Cause : Can not load the page hint..
    An error occurred while viewing the report. There is non-fatal error. Cause : Can not load the page hint..
        at com.actuate.iv.service.actionhandler.IVGetPageActionHandler.getPage(Unknown Source)
        at com.actuate.iv.service.actionhandler.IVGetPageActionHandler.doExecution(Unknown Source)
        at com.actuate.iv.service.actionhandler.AbstractRenderActionHandler.doExecute(Unknown Source)
        at com.actuate.iv.service.actionhandler.AbstractViewingActionHandler.execute(Unknown Source)
        at com.actuate.iv.soapengine.processor.IVComponentProcessor.executeAction(Unknown Source)
        at com.actuate.iv.soapengine.processor.IVDocumentProcessor.handleGetPage(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor512.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.actuate.iv.soapengine.processor.IVComponentProcessor.process(Unknown Source)
        at com.actuate.schemas.ActuateSoapBindingImpl.getIVUpdatedObjects(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor446.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:388)
        at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:283)
        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at com.broadridge.adc.ers.actuate.iv.ReportNoOpTask.execute(ReportNoOpTask.java:48)
        at com.broadridge.adc.ers.actuate.filter.ActuateSOAPFilter.doFilter(ActuateSOAPFilter.java:79)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at com.broadridge.adc.ers.actuate.filter.CsvExportHeaderFooterApplyingFilter.doFilter(CsvExportHeaderFooterApplyingFilter.java:94)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at com.broadridge.adc.ers.actuate.filter.ByteOrderRemovalFilter.removeByteOrderMarkIfExists(ByteOrderRemovalFilter.java:108)
        at com.broadridge.adc.ers.actuate.filter.ByteOrderRemovalFilter.doFilter(ByteOrderRemovalFilter.java:72)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: org.eclipse.birt.report.service.api.ReportServiceException: An error occurred while viewing the report. There is non-fatal error. Cause : Can not load the page hint.
        at com.actuate.birt.BirtViewerReportService.getPage(Unknown Source)
        ... 60 more
    Caused by: com.actuate.reportservice.ActuReportServiceException: An error occurred while viewing the report. There is non-fatal error. Cause : Can not load the page hint.
        at com.actuate.reportservice.ReportServiceLocal.renderReport(Unknown Source)
        ... 61 more
    Caused by: com.actuate.reportapi.enginemanager.JREMException: There is non-fatal error. Cause : Can not load the page hint.
        at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.getPageHint(RenderTask.java:515)
        at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java:685)
        at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:301)
        at com.actuate.birt.report.engine.internal.ActuateRenderTask.render(ActuateRenderTask.java:50)
        at com.actuate.reportapi.engine.birt.ViewReportTask.renderReport(Unknown Source)
        at com.actuate.reportapi.engine.birt.ViewReportTask.doTask(Unknown Source)
        at com.actuate.reportapi.engine.Task.execute(Unknown Source)
        ... 62 more
    Caused by: org.eclipse.birt.report.engine.api.EngineException: Can not load the page hint.
        ... 69 more
    Caused by: java.io.EOFException: Exceed the file length.
        at org.eclipse.birt.core.archive.compound.ArchiveEntryInputStream.seek(ArchiveEntryInputStream.java:222)
        at org.eclipse.birt.report.engine.internal.document.v3.PageHintReaderV3.getPageHint(PageHintReaderV3.java:286)
        at org.eclipse.birt.report.engine.internal.document.PageHintReader.getPageHint(PageHintReader.java:87)
        at org.eclipse.birt.report.engine.internal.document.v4.ReportPageExecutorV4.getPageHint(ReportPageExecutorV4.java:165)
        at org.eclipse.birt.report.engine.internal.document.ReportPageExecutor.getLayoutPageHint(ReportPageExecutor.java:65)
        at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.getPageHint(RenderTask.java:510)
        ... 68 more