Good day,
I have created a report that displays all the objects with their attributes as well as all the models with their object occurrences. This report works perfect with all the databases, except one database. This database has 355 980 Objects and 34035 Models. When the report run it fails with the following error message:
When looking at the arisserver_stderr.log file within the log folder of the server, I see the following exception:
report-engine-exception: error running Item.Name(1033): An error occurred in the report object model. - cannot run Attribute(1,1033) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AArisObject.createException(AArisObject.java:452) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AArisObject.handleError(AArisObject.java:421) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AArisObject.handleError(AArisObject.java:433) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AItem.getName(AItem.java:1202) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AItem.Name(AItem.java:1176) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AItem.Name(AItem.java:1216) at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:160) at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) at org.mozilla.javascript.gen.c2._c21(Test:373) at org.mozilla.javascript.gen.c2.call(Test) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97) at org.mozilla.javascript.gen.c2._c4(Test:66) at org.mozilla.javascript.gen.c2.call(Test) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97) at org.mozilla.javascript.gen.c2._c0(Test:17) at org.mozilla.javascript.gen.c2.call(Test) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401) at com.idsscheer.report.execution.javascript.AScriptContextFactory.doTopCall(AScriptContextFactory.java:226) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3003) at org.mozilla.javascript.gen.c2.call(Test) at org.mozilla.javascript.gen.c2.exec(Test) at com.idsscheer.report.execution.interpreter.AJReportInterpreter.openReport(AJReportInterpreter.java:363) at com.idsscheer.report.execution.interpreter.AJReportInterpreter.executeReport(AJReportInterpreter.java:282) at com.idsscheer.aris.server.bl.logic.webreport.scripting.AJavaScriptReportThread.run(AJavaScriptReportThread.java:89) at com.idsscheer.aris.server.bl.logic.webreport.scripting.AJavaScriptRunner.executeReport(AJavaScriptRunner.java:66) at com.idsscheer.aris.server.bl.logic.webreport.reportimpl.AReportProgressAction.run(AReportProgressAction.java:112) at com.idsscheer.aris.server.common.AServerTask$MyRunnable.run(AServerTask.java:61) at java.lang.Thread.run(Thread.java:619) Caused by: report-engine-exception: - cannot run Attribute(1,1033) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AItem.Attribute(AItem.java:505) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AItem.getName(AItem.java:1183) ... 28 more Caused by: java.lang.OutOfMemoryError: cannot execute query: Not enough memory left at server side: max: 2044M, total: 2044M, used: 2036M at com.idsscheer.aris.server.bl.logic.objectproviderimpl.AObjectProviderHelper.handleDLException(AObjectProviderHelper.java:59) at com.idsscheer.aris.server.bl.logic.objectproviderimpl.AObjectProvider.getAttrs(AObjectProvider.java:168) at com.idsscheer.aris.server.arisomimpl.directctx.ARelationHasAttrAttrDefs.doLoad(ARelationHasAttrAttrDefs.java:21) at com.idsscheer.aris.server.arisomimpl.directctx.ADirectContext.resolveObjects(ADirectContext.java:131) at com.idsscheer.aris.server.arisomimpl.directctx.ARelation.load(ARelation.java:90) at com.idsscheer.aris.server.arisomimpl.directctx.AHasAttr.getAttrs(AHasAttr.java:77) at com.idsscheer.aris.server.arisomimpl.directctx.AHasAttr.getAttr(AHasAttr.java:83) at com.idsscheer.aris.server.arisomimpl.methodctx.AHasAttr.getAttr(AHasAttr.java:277) at com.idsscheer.aris.server.arisomimpl.accessrightctx.AHasAttr.getAttr(AHasAttr.java:176) at com.idsscheer.aris.server.arisomimpl.arisctx.AHasAttr.getAttr(AHasAttr.java:258) at com.idsscheer.aris.server.bl.common.reportobjects.aris.logic.AItem.Attribute(AItem.java:494) ... 29 more Caused by: DLException: cannot execute query: Not enough memory left at server side: max: 2044M, total: 2044M, used: 2036M at com.idsscheer.dl.logic.base.qpleng.APreparedQueryPlan.executeQuery(APreparedQueryPlan.java:83) at com.idsscheer.dl.logic.base.qpleng.APreparedQueryPlan.execute2(APreparedQueryPlan.java:69) at com.idsscheer.aris.server.usecasemgt.AUseCaseExecutor.prepareAndExecute(AUseCaseExecutor.java:78) at com.idsscheer.aris.server.usecasemgt.AUseCaseExecutor.executePlan2(AUseCaseExecutor.java:113) at com.idsscheer.aris.server.usecasemgt.AUseCaseExecutor.executePlan(AUseCaseExecutor.java:97) at com.idsscheer.aris.server.bl.logic.winpersistenceservice.dbpersistenceprovider.ARelation.execute(ARelation.java:118) at com.idsscheer.aris.server.bl.logic.winpersistenceservice.dbpersistenceprovider.APersistenceServiceImpl.getObjectsByRelation(APersistenceServiceImpl.java:160) at com.idsscheer.aris.server.bl.logic.objectproviderimpl.AObjectProvider.getAttrs(AObjectProvider.java:166) ... 38 more Caused by: com.idsscheer.dl.util.AMemory$ANotEnoughMemoryException: Not enough memory left at server side: max: 2044M, total: 2044M, used: 2036M at com.idsscheer.dl.util.AMemory.checkIfEnoughMemoryLeft(AMemory.java:43) at com.idsscheer.dl.logic.base.qpleng.APreparedQueryPlan.executeQuery(APreparedQueryPlan.java:80) ... 45 more
What can I do to fix this?
I don't know the internal workings of Aris, but I would think that 2GB memory would be enough. You don't need have all the objects and models in memory and you free the memory once you are done with the current object/model.
Thank you.