Hello.
I'm trying to put large graphml file (2 mln nodes, 14 mln edges) to orient
database.
I wrote little importer. Importing piece of code:
g = new OrientGraphNoTx(dbURL);
try {
g.getRawGraph().declareIntent(new
OIntentMassiveInsert());
OGlobalConfiguration.STORAGE_KEEP_OPEN.setValue(false);
OGlobalConfiguration.TX_USE_LOG.setValue(false);
OGlobalConfiguration.ENVIRONMENT_CONCURRENT.setValue(false
g.getRawGraph().declareIntent(new
OIntentMassiveInsert());
GraphMLReader.inputGraph(g, graphname,
1000000, null, null, null);
}
It works fine with different graphs (even with 1mlnNodes+1mlnEdges). But on
my large graph I have
Jan 30, 2014 5:19:14 PM com.orientechnologies.common.log.OLogManager log
WARNING: Caught I/O errors from /127.0.0.1:2424 (local socket=
0.0.0.0/0.0.0.0:47291), trying to reconnect (error: java.io.IOException:
Stream closed)
Jan 30, 2014 5:19:15 PM com.orientechnologies.common.log.OLogManager log
WARNING: Connection re-acquired transparently after 503ms and 1 retries: no
errors will be thrown at application level
Exception in thread "main"
com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException:
Exception during response processing.
at
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:264)
at
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:231)
at
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:202)
at
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:113)
at
com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1865)
at
com.orientechnologies.orient.client.remote.OStorageRemote.updateRecord(OStorageRemote.java:500)
at
com.orientechnologies.orient.client.remote.OStorageRemoteThread.updateRecord(OStorageRemoteThread.java:237)
at
com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:271)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:816)
at
com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:77)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:270)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:257)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:38)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:799)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:272)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:279)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:91)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toStream(ORecordSerializerSchemaAware2CSV.java:518)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:127)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:122)
at
com.orientechnologies.orient.core.record.impl.ODocument.toStream(ODocument.java:391)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:766)
at
com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:77)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:270)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:38)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:312)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1323)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1312)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1301)
at
com.tinkerpop.blueprints.impls.orient.OrientEdge.convertToDocument(OrientEdge.java:384)
at
com.tinkerpop.blueprints.impls.orient.OrientEdge.setProperty(OrientEdge.java:192)
at
com.tinkerpop.blueprints.util.wrappers.batch.BatchGraph$BatchEdge.setProperty(BatchGraph.java:539)
at
com.tinkerpop.blueprints.util.io.graphml.GraphMLReader.inputGraph(GraphMLReader.java:284)
at
com.tinkerpop.blueprints.util.io.graphml.GraphMLReader.inputGraph(GraphMLReader.java:145)
at importtool.ImportTool.main(ImportTool.java:99)
Caused by:
com.orientechnologies.orient.core.exception.OConcurrentModificationException:
Cannot UPDATE the record #9:1921444 because the version is not the latest.
Probably you are updating an old record or it has been modified by another
user (db=v23 your=v22)
at
com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.updateRecord(OStorageLocal.java:1842)
at
com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.updateRecord(OStorageLocal.java:1155)
at
com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:271)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:816)
at
com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:77)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:270)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:245)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:38)
at
com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract.save(ODatabaseRecordWrapperAbstract.java:281)
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:286)
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:227)
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:45)
at
com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.updateRecord(OBinaryNetworkProtocolAbstract.java:359)
at
com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.updateRecord(ONetworkProtocolBinary.java:1259)
at
com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:272)
at
com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:125)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)
How can I fix this problem? And how I can improve speed (now I have speed
about 2000nodes/second 500-1000 edges/second)?
Thank You!
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.