|
From: tech.vronk <te...@vr...> - 2013-06-11 09:12:08
|
Hi,
i keep getting OutOfMemory on one instance
either
"Java heap space" or
"GC overhead limit exceeded".
these are my cache settings:
<db-connection cacheSize="512M" checkMaxCacheSize="true"
collectionCache="128M" database="native"
files="/data/exist/db2" pageSize="4096" nodesBuffer="1000"
cacheShrinkThreshold="10000"
doc-ids="default" minDiskSpace="128M">
the strack trace (see below) suggests it comes from the eval()-function
(which I use rather heavily).
I translate evey request into a xpath of the form:
$data-collection//some-element [some
predicate]/ancestor-or-self::some-parent-element
for example:
$data-collection//cmd:MdSelfLink[. eq
'oai:ufal-point.mff.cuni.cz:11858/00-097C-0000-0001-48F2-1']/ancestor-or-self::cmd:CMD.
The data-collection is rather big around 580.000 documents
Is there anything special I have to look out for with eval()-function?
I can't really imagine not to use it.
thank you
best,
matej
2013-06-06 01:59:33,635 [DefaultQuartzScheduler_Worker-3] INFO
(BFile.java [printStatistics]:434) - values.dbx DATA Buffers occupation
: 5% (3 out of 64) Cache efficiency : 0%
2013-06-06 03:39:38,981 [eXistThread-73] ERROR (EXistServlet.java
[doGet]:255) - Java heap space
java.lang.OutOfMemoryError: Java heap space
at
org.exist.dom.NewArrayNodeSet.ensureCapacity(NewArrayNodeSet.java:174)
at org.exist.dom.NewArrayNodeSet.add(NewArrayNodeSet.java:197)
at
org.exist.storage.structural.NativeStructuralIndexWorker$FindElementsCallback.indexInfo(NativeStructuralIndexWorker.java:272)
at org.exist.storage.btree.BTree.scanSequential(BTree.java:402)
at
org.exist.storage.btree.BTree$BTreeNode.scanNextPage(BTree.java:1832)
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1628)
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552)
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552)
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552)
at
org.exist.storage.btree.BTree$BTreeNode.access$12(BTree.java:1527)
at org.exist.storage.btree.BTree.query(BTree.java:372)
2013-06-09 19:21:36,000 [eXistThread-326] ERROR (EXistServlet.java
[doGet]:255) - GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
at org.exist.numbering.DLNBase.<init>(DLNBase.java:118)
at org.exist.numbering.DLN.<init>(DLN.java:107)
at
org.exist.numbering.DLNFactory.createFromData(DLNFactory.java:59)
at
org.exist.storage.structural.NativeStructuralIndexWorker.readNodeId(NativeStructuralIndexWorker.java:640)
at
org.exist.storage.structural.NativeStructuralIndexWorker.access$0(NativeStructuralIndexWorker.java:633)
at
org.exist.storage.structural.NativeStructuralIndexWorker$FindElementsCallback.indexInfo(NativeStructuralIndexWorker.java:260)
at org.exist.storage.btree.BTree.scanSequential(BTree.java:402)
at
org.exist.storage.btree.BTree$BTreeNode.scanNextPage(BTree.java:1832)
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1628)
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552)
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552)
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1552)
at
org.exist.storage.btree.BTree$BTreeNode.access$12(BTree.java:1527)
at org.exist.storage.btree.BTree.query(BTree.java:372)
at
org.exist.storage.structural.NativeStructuralIndexWorker.findElementsByTagName(NativeStructuralIndexWorker.java:91)
at
org.exist.xquery.LocationStep.getDescendants(LocationStep.java:841)
at org.exist.xquery.LocationStep.eval(LocationStep.java:395)
at
org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
at org.exist.xquery.PathExpr.eval(PathExpr.java:264)
at
org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)
at org.exist.xquery.XQuery.execute(XQuery.java:257)
at org.exist.xquery.XQuery.execute(XQuery.java:213)
at org.exist.xquery.functions.util.Eval.execute(Eval.java:443)
at org.exist.xquery.functions.util.Eval.doEval(Eval.java:396)
at org.exist.xquery.functions.util.Eval.eval(Eval.java:224)
at org.exist.xquery.BasicFunction.eval(BasicFunction.java:70)
at
org.exist.xquery.InternalFunctionCall.eval(InternalFunctionCall.java:55)
at org.exist.xquery.LetExpr.eval(LetExpr.java:142)
at org.exist.xquery.LetExpr.eval(LetExpr.java:187)
at
org.exist.xquery.BindingExpression.eval(BindingExpression.java:156)
at
org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:153)
at
org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:324)
|