lief ich einen Test auf Orientdb 2.2.10TransnationaleGraphOrientdb Java Heap Fehler
Mit dem folgenden Sudo Code auf einzelnen Thread-System
for(i = 1 to 1000)
{
DB_Name = getRandomString()
createGraphDb(DB_Name) using OServerAdmin : if db do not exist
gFactory = OrientGraphFactory(DB_Name) : if db exist
graph = OrientGraphFactory.getTx()
previousEvent = null
for(j=1 to 1000)
{
currentEvent = getrandomString()
if(previousEvent and currentEvent != null)
{
- create Vertex named currentVertex and edges between them
- (from previous to current event)
}
else
{
create vertex named current event
}
previousEvent = currentEvent
}
graph.shutdown()
}
Ich habe die folgende Ausnahme nach ein paar Iterationen meiner äußeren Schleife.
Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.lang.String.substring(Unknown Source)
at java.lang.String.split(Unknown Source)
at java.lang.String.split(Unknown Source)
at com.orientechnologies.orient.core.config.OStorageConfiguration.fromStream(OStorageConfiguration.java:268)
at com.orientechnologies.orient.core.config.OStorageConfiguration.fromStream(OStorageConfiguration.java:497)
at com.orientechnologies.orient.core.config.OStorageConfiguration.load(OStorageConfiguration.java:207)
at com.orientechnologies.orient.client.remote.OStorageRemote.open(OStorageRemote.java:330)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.open(ODatabaseDocumentTx.java:257)
at com.orientechnologies.orient.core.db.OPartitionedDatabasePool$DatabaseDocumentTxPooled.internalOpen(OPartitionedDatabasePool.java:445)
at com.orientechnologies.orient.core.db.OPartitionedDatabasePool.openDatabase(OPartitionedDatabasePool.java:308)
at com.orientechnologies.orient.core.db.OPartitionedDatabasePool.acquire(OPartitionedDatabasePool.java:263)
at com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.<init>(OrientBaseGraph.java:144)
at com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.<init>(OrientTransactionalGraph.java:78)
at com.tinkerpop.blueprints.impls.orient.OrientGraph.<init>(OrientGraph.java:135)
at com.tinkerpop.blueprints.impls.orient.OrientGraphFactory.getTx(OrientGraphFactory.java:119)
Ist sie irgendein Problem mit meinem sudo-Code oder mit Orientdb.
Wenn ihre vorhandenen etwas besser, bitte vorschlagen.
Danke ..!
Meine Heap-Größe ist -xmx512m. Was ist geeignete Heap-Größe für diese Art von Anwendung? –