Unfortunately, Titan is prone to keeping a lot of data in memory in some
cases. This stack doesn't make it clear, but it is most likely to occur
during large queries. Doing a few of those in parallel (possible during
report rendering) has been the culprit in the past.
On 12/23/2015 09:55 AM, Brad Davis wrote:
One of the intentions with TitanDb was to avoid heap issues because I
thought it would be flushing to disk. Why is it keeping it in memory like that?
Sent from my iPhone
> On Dec 23, 2015, at 9:37 AM, Jess Sightler <jsightle(a)redhat.com> wrote:
>
> Extremely large apps may require additional memory. I assume that the
> default for your machine is 4GB of heap?
>
> I'd suggest running it with MAX_MEMORY set to 8192m.
>
>> On 12/23/2015 07:34 AM, Ondrej Zizka wrote:
>> FYI, I saw this when running with our largest app:
>>
>> [415/420] PostFinalizePhase - RenderRuleProviderReportRuleProvider -
>> RenderRuleProviderReportRuleProvider_1
>> Windup report created: /tmp/Windup/resAgent/index.html
>> Access it at this URL: file:///tmp/Windup/resAgent/index.html
>> Windup Execution failed due to: Could not execute operation due to
>> backend exception
>> com.thinkaurelius.titan.core.TitanException: Could not execute operation
>> due to backend exception
>> at
>>
com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:44)
>> at
>>
com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:144)
>> at
>>
com.thinkaurelius.titan.diskstorage.configuration.backend.KCVSConfiguration.set(KCVSConfiguration.java:145)
>> at
>>
com.thinkaurelius.titan.diskstorage.configuration.backend.KCVSConfiguration.set(KCVSConfiguration.java:122)
>> at
>>
com.thinkaurelius.titan.diskstorage.configuration.backend.KCVSConfiguration.remove(KCVSConfiguration.java:163)
>> at
>>
com.thinkaurelius.titan.diskstorage.configuration.ModifiableConfiguration.remove(ModifiableConfiguration.java:42)
>> at
>>
com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.shutdownInternal(StandardTitanGraph.java:169)
>> at
>>
com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.shutdown(StandardTitanGraph.java:158)
>> at
>> org.jboss.windup.graph.GraphContextImpl.close(GraphContextImpl.java:320)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at
>>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>>
org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:123)
>> at
>> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
>> at
>>
org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
>> at
>>
org.jboss.windup.graph.GraphContext_$$_javassist_1bc69704-4043-4e9b-9f41-25ae779ad2b3.close(GraphContext_$$_javassist_1bc69704-4043-4e9b-9f41-25ae779ad2b3.java)
>> at
>>
org.jboss.windup.bootstrap.commands.windup.RunWindupCommand.runWindup(RunWindupCommand.java:259)
>> at
>>
org.jboss.windup.bootstrap.commands.windup.RunWindupCommand.execute(RunWindupCommand.java:68)
>> at
>> org.jboss.windup.bootstrap.Bootstrap.executePhase(Bootstrap.java:305)
>> at org.jboss.windup.bootstrap.Bootstrap.run(Bootstrap.java:171)
>> at org.jboss.windup.bootstrap.Bootstrap.main(Bootstrap.java:97)
>> Caused by:
>> com.thinkaurelius.titan.diskstorage.PermanentBackendException: Could not
>> start BerkeleyJE transaction
>> at
>>
com.thinkaurelius.titan.diskstorage.berkeleyje.BerkeleyJEStoreManager.beginTransaction(BerkeleyJEStoreManager.java:144)
>> at
>>
com.thinkaurelius.titan.diskstorage.berkeleyje.BerkeleyJEStoreManager.beginTransaction(BerkeleyJEStoreManager.java:34)
>> at
>>
com.thinkaurelius.titan.diskstorage.keycolumnvalue.keyvalue.OrderedKeyValueStoreManagerAdapter.beginTransaction(OrderedKeyValueStoreManagerAdapter.java:52)
>> at
>> com.thinkaurelius.titan.diskstorage.Backend$2.openTx(Backend.java:270)
>> at
>>
com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:131)
>> at
>>
com.thinkaurelius.titan.diskstorage.util.BackendOperation$1.call(BackendOperation.java:147)
>> at
>>
com.thinkaurelius.titan.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:56)
>> at
>>
com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:42)
>> ... 21 more
>> Caused by: com.sleepycat.je.EnvironmentFailureException: (JE 5.0.73)
>> Environment must be closed, caused by:
>> com.sleepycat.je.EnvironmentFailureException: Environment invalid
>> because of previous exception: (JE 5.0.73)
>> /tmp/Windup/resAgent/graph/titangraph java.lang.OutOfMemoryError: GC
>> overhead limit exceeded UNCAUGHT_EXCEPTION: Uncaught Exception in
>> internal thread, unable to continue. Environment is invalid and must be
>> closed.
>> at
>>
com.sleepycat.je.EnvironmentFailureException.wrapSelf(EnvironmentFailureException.java:196)
>> at
>> com.sleepycat.je.dbi.EnvironmentImpl.checkIfInvalid(EnvironmentImpl.java:1512)
>> at com.sleepycat.je.Environment.checkEnv(Environment.java:2185)
>> at
>> com.sleepycat.je.Environment.beginTransactionInternal(Environment.java:1313)
>> at
>> com.sleepycat.je.Environment.beginTransaction(Environment.java:1284)
>> at
>>
com.thinkaurelius.titan.diskstorage.berkeleyje.BerkeleyJEStoreManager.beginTransaction(BerkeleyJEStoreManager.java:134)
>> ... 28 more
>> Caused by: com.sleepycat.je.EnvironmentFailureException: Environment
>> invalid because of previous exception: (JE 5.0.73)
>> /tmp/Windup/resAgent/graph/titangraph java.lang.OutOfMemoryError: GC
>> overhead limit exceeded UNCAUGHT_EXCEPTION: Uncaught Exception in
>> internal thread, unable to continue. Environment is invalid and must be
>> closed.
>> at
>>
com.sleepycat.je.utilint.StoppableThread$UncaughtHandler.uncaughtException(StoppableThread.java:219)
>> at java.lang.Thread.dispatchUncaughtException(Thread.java:1986)
>> Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
>> at java.util.HashMap.createEntry(HashMap.java:897)
>> at java.util.HashMap.addEntry(HashMap.java:884)
>> at java.util.HashMap.put(HashMap.java:505)
>> at java.util.HashSet.add(HashSet.java:217)
>> at com.sleepycat.je.utilint.TinyHashSet.add(TinyHashSet.java:93)
>> at com.sleepycat.je.tree.BIN.addCursor(BIN.java:445)
>> at com.sleepycat.je.dbi.CursorImpl.addCursor(CursorImpl.java:494)
>> at
>> com.sleepycat.je.dbi.CursorImpl.searchAndPosition(CursorImpl.java:2106)
>> at
>> com.sleepycat.je.dbi.CursorImpl.searchAndPosition(CursorImpl.java:2020)
>> at com.sleepycat.je.dbi.DbTree.getDb(DbTree.java:1543)
>> at com.sleepycat.je.dbi.DbTree.getDb(DbTree.java:1494)
>> at
>> com.sleepycat.je.evictor.PrivateEvictor$1.getDb(PrivateEvictor.java:61)
>> at com.sleepycat.je.evictor.Evictor.evictBatch(Evictor.java:645)
>> at com.sleepycat.je.evictor.Evictor.doEvict(Evictor.java:548)
>> at
>> com.sleepycat.je.evictor.Evictor$BackgroundEvictTask.run(Evictor.java:1241)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>> at java.lang.Thread.run(Thread.java:745)
>> _______________________________________________
>> windup-dev mailing list
>> windup-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/windup-dev
> _______________________________________________
> windup-dev mailing list
> windup-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/windup-dev
_______________________________________________
windup-dev mailing list
windup-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/windup-dev