Bulk insert of a massive graph

4,800 views
Skip to first unread message

Nicolas

unread,
May 23, 2012, 12:47:03 PM5/23/12
to OrientDB
Hi everybody,

We have a text file which represents the edges of a graph.
For example :
id1 id2
id2 id3
id3 id1
That means that there is an oriented edge from the vertex id1 to
the vertex id2, from the vertex id2 to the vertex id3 and from the
vertex id3 to the vertex id1.
This file size is about 38GB, it's about 50millions vertices and
2B edges.

What is the best way to load and store this graph in GraphDB ?
I red that there may be a way by inserting a JSon file using
Gremlin console but I'm not sure that it can work.

Thanks a lot.
Nicolas

Luca Garulli

unread,
May 23, 2012, 4:17:36 PM5/23/12
to orient-...@googlegroups.com
Hi,
you could transform it in GraphML format and use this to import:

OrientGraph g = new OrientGraph(dbURL);
GraphMLReader.inputGraph(g, new FileInputStream(inputFile), 100000, null, null, null);

Daniel Kersten

unread,
May 23, 2012, 9:59:12 PM5/23/12
to orient-...@googlegroups.com
Slightly unrelated, but what would be the fastest/most efficient way of importing such a large quantity of graph data as this is something I'll need to be doing on a regular basis myself soon (I will be running hadoop jobs to generate graphs and importing these into OrientDB).

Daniel Kersten

unread,
May 23, 2012, 10:02:40 PM5/23/12
to orient-...@googlegroups.com
I should also add that I can use the Java API for my imports (ie it does not need to be remote).

Pierre De Wilde

unread,
May 24, 2012, 1:23:42 AM5/24/12
to orient-...@googlegroups.com
Hi,

Blueprints 2.0 has a BatchGraph wrapper:

https://github.com/tinkerpop/blueprints/wiki/Batch-Implementation

Blueprints is part of TinkerPop 2.0 stack which will be released tomorrow.

HTH,
Pierre

ps: Luca, does OrientDB provide a native Batch importer mechanism?

Nicolas

unread,
May 24, 2012, 4:29:36 AM5/24/12
to OrientDB
Hi everybody,

Thanks for all your answers which are really relevant. It will be
very helpful for us.
I will try both the solutions with XML and BatchGraph wrapper
today.

On 24 mai, 07:23, Pierre De Wilde <pierredewi...@gmail.com> wrote:
> Hi,
>
> Blueprints 2.0 has a BatchGraph wrapper:
>
> https://github.com/tinkerpop/blueprints/wiki/Batch-Implementation
>
> Blueprints is part of TinkerPop 2.0 stack which will be released tomorrow.
>
> HTH,
> Pierre
>
> ps: Luca, does OrientDB provide a native Batch importer mechanism?
>
>
>
>
>
>
>
> On Thursday, May 24, 2012, Daniel Kersten wrote:
> > I should also add that I can use the Java API for my imports (ie it does
> > not need to be remote).
>
> > On 24 May 2012 02:59, Daniel Kersten <dkers...@gmail.com<javascript:_e({}, 'cvml', 'dkers...@gmail.com');>
> > > wrote:
>
> >> Slightly unrelated, but what would be the fastest/most efficient way of
> >> importing such a large quantity of graph data as this is something I'll
> >> need to be doing on a regular basis myself soon (I will be running hadoop
> >> jobs to generate graphs and importing these into OrientDB).
>
> >> On 23 May 2012 21:17, Luca Garulli <l.garu...@gmail.com<javascript:_e({}, 'cvml', 'l.garu...@gmail.com');>
> >> > wrote:
>
> >>> Hi,
> >>> you could transform it in GraphML format and use this to import:
>
> >>> OrientGraph g = new OrientGraph(dbURL);
> >>> GraphMLReader.inputGraph(g, new FileInputStream(inputFile), 100000,
> >>> null, null, null);
> >>> g.shutdown();
>
> >>> An example is this:
> >>>https://raw.github.com/tinkerpop/gremlin/master/data/graph-example-2.xml
>
> >>> Lvc@
>
> >>> On 23 May 2012 18:47, Nicolas <dugue....@gmail.com <javascript:_e({},

Luca Garulli

unread,
May 24, 2012, 4:56:27 AM5/24/12
to orient-...@googlegroups.com
Hi,
there isn't a batch importer but just some recommendations to improve performance:
  • don't use transactions
  • turn off the cache

Lvc@

Nicolas

unread,
May 24, 2012, 11:27:54 AM5/24/12
to OrientDB
Hi Luca,

By executing the piece of code you gave me, I have a big exception
stack that I don't succeed in interpretating. Have you any ideas of
what may be the problem ? Thanks.

The trace :
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:
738)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
246)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
111)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:
614)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:
192)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.saveRecord(OTransactionOptimistic.java:
181)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
220)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:
213)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.save(ODatabaseRecordAbstract.java:
1)
at
com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:
269)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1241)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1230)
at
com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:
1)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:
364)
at
com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeRIDProvider.toStream(OMVRBTreeRIDProvider.java:
112)
at
com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.toStream(OMVRBTreeRIDSet.java:
172)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkSetToStream(ORecordSerializerCSVAbstract.java:
407)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:
324)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:
242)
at
com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:
80)
at
com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:
116)

On 24 mai, 10:56, Luca Garulli <l.garu...@gmail.com> wrote:
> Hi,
> there isn't a batch importer but just some recommendations to improve
> performance:
>
>    - don't use transactions
>    - turn off the cache
> On 24 May 2012 07:23, Pierre De Wilde <pierredewi...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Hi,
>
> > Blueprints 2.0 has a BatchGraph wrapper:
>
> >https://github.com/tinkerpop/blueprints/wiki/Batch-Implementation
>
> > Blueprints is part of TinkerPop 2.0 stack which will be released tomorrow.
>
> > HTH,
> > Pierre
>
> > ps: Luca, does OrientDB provide a native Batch importer mechanism?
>
> > On Thursday, May 24, 2012, Daniel Kersten wrote:
>
> >> I should also add that I can use the Java API for my imports (ie it does
> >> not need to be remote).
>
> >> On 24 May 2012 02:59, Daniel Kersten <dkers...@gmail.com> wrote:
>
> >>> Slightly unrelated, but what would be the fastest/most efficient way of
> >>> importing such a large quantity of graph data as this is something I'll
> >>> need to be doing on a regular basis myself soon (I will be running hadoop
> >>> jobs to generate graphs and importing these into OrientDB).
>
> >>> On 23 May 2012 21:17, Luca Garulli <l.garu...@gmail.com> wrote:
>
> >>>> Hi,
> >>>> you could transform it in GraphML format and use this to import:
>
> >>>> OrientGraph g = new OrientGraph(dbURL);
> >>>> GraphMLReader.inputGraph(g, new FileInputStream(inputFile), 100000,
> >>>> null, null, null);
> >>>> g.shutdown();
>
> >>>> An example is this:
> >>>>https://raw.github.com/tinkerpop/gremlin/master/data/graph-example-2.xml
>
> >>>> Lvc@
>

Nicolas

unread,
May 24, 2012, 11:59:14 AM5/24/12
to OrientDB
It seems to be a memory problem or somtehing like that because it
works when I try to import a short file (10kB)...
> ...
>
> plus de détails »

Luca Garulli

unread,
May 24, 2012, 5:04:48 PM5/24/12
to orient-...@googlegroups.com
Hi,
you have to reduce the transaction size, or better, totally remove the transactions on import.

Lvc@

seralf

unread,
May 24, 2012, 6:24:00 PM5/24/12
to orient-...@googlegroups.com
wow, this seems really interesting, i need to check it! thanks :-)

Nicolas

unread,
May 25, 2012, 7:38:24 AM5/25/12
to OrientDB
Dear Luca,

Thanks for your answer.
I tried to remove the transactions by adding
"OGlobalConfiguration.BLUEPRINTS_TX_MODE.setValue(1);" or "-
Dblueprints.graph.txMode=1" as a JVM parameter but it still doen't
work.
Specifying that the mode is manual seems to be unsufficient.
What is the way to remove the transactions on import ?

Nicolas

On 25 mai, 00:24, seralf <ser...@gmail.com> wrote:
> wow, this seems really interesting, i need to check it! thanks :-)
>
> Il giorno giovedì 24 maggio 2012 07:23:42 UTC+2, Pierre De Wilde ha scritto:
>
>
>
>
>
>
>
>
>
> > Hi,
>
> > Blueprints 2.0 has a BatchGraph wrapper:
>
> >https://github.com/tinkerpop/blueprints/wiki/Batch-Implementation
>
> > Blueprints is part of TinkerPop 2.0 stack which will be released tomorrow.
>
> > HTH,
> > Pierre
>
> > ps: Luca, does OrientDB provide a native Batch importer mechanism?
>
> > On Thursday, May 24, 2012, Daniel Kersten wrote:
>
> >> I should also add that I can use the Java API for my imports (ie it does
> >> not need to be remote).
>
> >> On 24 May 2012 02:59, Daniel Kersten <dkers...@gmail.com> wrote:
>
> >>> Slightly unrelated, but what would be the fastest/most efficient way of
> >>> importing such a large quantity of graph data as this is something I'll
> >>> need to be doing on a regular basis myself soon (I will be running hadoop
> >>> jobs to generate graphs and importing these into OrientDB).
>
> >>> On 23 May 2012 21:17, Luca Garulli <l.garu...@gmail.com> wrote:
>
> >>>> Hi,
> >>>> you could transform it in GraphML format and use this to import:
>
> >>>> OrientGraph g = new OrientGraph(dbURL);
> >>>> GraphMLReader.inputGraph(g, new FileInputStream(inputFile), 100000,
> >>>> null, null, null);
> >>>> g.shutdown();
>
> >>>> An example is this:
> >>>>https://raw.github.com/tinkerpop/gremlin/master/data/graph-example-2.xml
>
> >>>> Lvc@
>

Luca Garulli

unread,
May 26, 2012, 6:34:33 PM5/26/12
to orient-...@googlegroups.com
Hi Nicolas,
starting from TinkerPop 2.0.0 the buffer has been removed in favor of BatchGraph: https://github.com/tinkerpop/blueprints/wiki/Batch-Implementation

Lvc@

Nicolas

unread,
May 29, 2012, 8:19:37 AM5/29/12
to OrientDB
Hi Luca,

So I moved to BatchGraph.
I have still the same problem, I don't succes in disabling
transactions :
Exception in thread "main"
com.orientechnologies.orient.core.exception.OStorageException: Error
on commit
at
com.orientechnologies.orient.client.remote.OStorageRemote.handleException(OStorageRemote.java:
1129)
at
com.orientechnologies.orient.client.remote.OStorageRemote.commit(OStorageRemote.java:
865)
at
com.orientechnologies.orient.client.remote.OStorageRemoteThread.commit(OStorageRemoteThread.java:
196)
at
com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:
60)
at
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.commit(ODatabaseRecordTx.java:
112)
at
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:
313)
at
com.tinkerpop.blueprints.impls.orient.OrientGraph.stopTransaction(OrientGraph.java:
394)
at
com.tinkerpop.blueprints.util.wrappers.batch.BatchGraph.nextElement(BatchGraph.java:
177)
at
com.tinkerpop.blueprints.util.wrappers.batch.BatchGraph.addEdge(BatchGraph.java:
264)
at orientdb.TinkerLoader.main(TinkerLoader.java:50)
Caused by: java.lang.ClassCastException: java.lang.StackOverflowError
cannot be cast to java.lang.Exception
at
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.createException(OChannelBinary.java:
411)
at
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.handleStatus(OChannelBinary.java:
364)
at
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:
145)
at
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:
60)
at
com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:
1492)
at
com.orientechnologies.orient.client.remote.OStorageRemote.commit(OStorageRemote.java:
823)
... 8 more


Here is my code, I read a file with each line like that : "id1 id2"
which means that there is an edge between the vertex id1 and the
vertex id2. And I add the vertices and the edges to the graph. The
error is at the line where I add the edge.

BufferedReader buff = new BufferedReader(new FileReader("/home/nicolas/
Recherche/file"));
String s ="", line="";

OGlobalConfiguration.BLUEPRINTS_TX_MODE.setValue(1);

Graph g = new OrientGraph("remote:/graph/test1", "admin", "admin");
BatchGraph<OrientGraph> bg = BatchGraph.wrap(g);
bg.setVertexIdKey("i");
String[] t;
int left, right;
int leftAvant = -1;
Vertex v1, v2;
while ((line = buff.readLine()) != null) {
t = line.split(" ");
left = Integer.parseInt(t[0]);
right = Integer.parseInt(t[1]);
v1 = bg.getVertex(left);
v2=bg.getVertex(right);

if (v1 == null) {
bg.addVertex(left);
v1=bg.getVertex(left);
}
if (v2 == null) {
bg.addVertex(right);
v2=bg.getVertex(right);
}
bg.addEdge(left+"to"+right, v1, v2, "f");
}
bg.shutdown();


On 27 mai, 00:34, Luca Garulli <l.garu...@gmail.com> wrote:
> Hi Nicolas,
> starting from TinkerPop 2.0.0 the buffer has been removed in favor of
> BatchGraph:https://github.com/tinkerpop/blueprints/wiki/Batch-Implementation
>
> Lvc@
>

Luca Garulli

unread,
May 29, 2012, 9:40:11 AM5/29/12
to orient-...@googlegroups.com

Hi,
Sorry but now I have not the code with me. Just don't use the global setting but create the batch graph passing the tx buffer in the constructor. Try with 0.

Lvc@

Sent from a touch phone: sorry for this fruit of crappy keyboard..

Nicolas

unread,
May 29, 2012, 10:08:55 AM5/29/12
to OrientDB
Hi,

That gives me this error :(
Exception in thread "main" java.lang.IllegalArgumentException:
BufferSize must be positive
at
com.tinkerpop.blueprints.util.wrappers.batch.BatchGraph.<init>(BatchGraph.java:
103)
at
com.tinkerpop.blueprints.util.wrappers.batch.BatchGraph.wrap(BatchGraph.java:
147)
at orientdb.TinkerLoader.main(TinkerLoader.java:29)

Nico

On 29 mai, 15:40, Luca Garulli <l.garu...@gmail.com> wrote:
> Hi,
> Sorry but now I have not the code with me. Just don't use the global
> setting but create the batch graph passing the tx buffer in the
> constructor. Try with 0.
>
> Lvc@
>
> Sent from a touch phone: sorry for this fruit of crappy keyboard..

Luca Garulli

unread,
May 29, 2012, 12:25:19 PM5/29/12
to orient-...@googlegroups.com, Marko Rodriguez
Hi,
you're right. With the new release of TinkerPop seems impossible to disable Transactions. Marko, why you have changed the semantic of this when you've refactor the Graph classes? Is there another way I don't know to do it? Maybe another wrapper?

Lvc@

Nicolas

unread,
May 31, 2012, 12:10:44 PM5/31/12
to OrientDB
Hi,

More information about how I can disable transactions to do a bulk
insert ?

Thanks in advance,
Nicolas

On 29 mai, 18:25, Luca Garulli <l.garu...@gmail.com> wrote:
> Hi,
> you're right. With the new release of TinkerPop seems impossible to disable
> Transactions. Marko, why you have changed the semantic of this when you've
> refactor the Graph classes? Is there another way I don't know to do it?
> Maybe another wrapper?
>
> Lvc@
>

Luca Garulli

unread,
May 31, 2012, 2:53:56 PM5/31/12
to orient-...@googlegroups.com
Hi,
I've opened a new thread on the Gremlin Group: https://groups.google.com/d/topic/gremlin-users/MAxmN3rAuFk/discussion

Lvc@

Nicolas

unread,
Jun 4, 2012, 1:02:16 PM6/4/12
to OrientDB
Thank you, I hope we will be able to use the BatchGraph without
Transaction ;)

Hovewer, waiting for this new version of the BatchGraph, I still to
use it :
BatchGraph<OrientGraph> bg = BatchGraph.wrap(g, 5000);

But this gives me some errors in the log :
4 juin 2012 18:56:10 com.orientechnologies.common.log.OLogManager log
GRAVE: Received unread response from localhost/127.0.0.1:2424 for
session=2, probably corrupted data from the network connection.
Cleared dirty data in the buffer (46221 bytes): [ -

The insertion seems fast at the beginning and then, it becomes sower
and slower and stopped after this message.

On 31 mai, 20:53, Luca Garulli <l.garu...@gmail.com> wrote:
> Hi,
> I've opened a new thread on the Gremlin Group:https://groups.google.com/d/topic/gremlin-users/MAxmN3rAuFk/discussion
>
> Lvc@
>
> ...
>
> plus de détails »

Luca Garulli

unread,
Jun 4, 2012, 2:33:35 PM6/4/12
to orient-...@googlegroups.com
Hi,
that message is the fruit of a timeout: the timeout triggers out and dirty data remains in the socket. Can you bulk load records using the local protocol? This would improve A LOT the insertion.

Or you could run locally and run the server as embedded: http://code.google.com/p/orient/wiki/EmbeddedServer

This is a very powerful way to achieve super high speed and let the database to being used outside the JVM with Studio, console or external clients. Soon a new WiKi page about the all the available architectures with OrientDB with PRO/CONS.

Lvc@

Nicolas

unread,
Jun 4, 2012, 5:14:15 PM6/4/12
to OrientDB
Okay,
Yes, it's a better idea to use local protocol. Because, what I want to
do is only : bulk load fast and use gremlin console to query and
update the graph in local.

However, by using the local protocol :
Graph g = new OrientGraph("local:/home/nicolas/orienttest");
BatchGraph<OrientGraph> bg = BatchGraph.wrap(g, 10000);
Bulk load is still really slow... As you can see in one of my
precedent post, I read a file to load my graph. My file is about 38GB.
And now, to read an 50MB files, i need about 15 to 20 minutes.

What do i do wrong ? Is there a better way to bulk load in a local way
than the batchgraph ?

On 4 juin, 20:33, Luca Garulli <l.garu...@gmail.com> wrote:
> Hi,
> that message is the fruit of a timeout: the timeout triggers out and dirty
> data remains in the socket. Can you bulk load records using the local
> protocol? This would improve A LOT the insertion.
>
> Or you could run locally and run the server as embedded:http://code.google.com/p/orient/wiki/EmbeddedServer
>
> This is a very powerful way to achieve super high speed and let the
> database to being used outside the JVM with Studio, console or external
> clients. Soon a new WiKi page about the all the available architectures
> with OrientDB with PRO/CONS.
>
> Lvc@
>
> ...
>
> plus de détails »

Luca Garulli

unread,
Jun 4, 2012, 5:31:09 PM6/4/12
to orient-...@googlegroups.com
Hi,
the first thing is to enable the massive insert intent. Execute this just after opening the graph:

graph.getRawGraph().declareIntent( new OIntentMassiveInsert() );

Then is to disable transactions, but until the TinkerPop fix is ready you will go slowly.

Lvc@

Marko Rodriguez

unread,
Jun 4, 2012, 5:41:31 PM6/4/12
to orient-...@googlegroups.com
Hi,

Then is to disable transactions, but until the TinkerPop fix is ready you will go slowly.

What fix are you talking about? Again, TransactionalGraph is just start/stopTransactions -- there is no notion of "transaction buffer." The best way to do things is in more big transaction ala:

long counter = 0;
while(...) {
// insert some data
if(++counter % 1000 == 0)
g.stopTransaction(SUCCESS);
}

Thanks,
Marko.

Nicolas

unread,
Jun 5, 2012, 4:09:36 AM6/5/12
to OrientDB
Hi,

Okay, with your method Marko and the line you gave me and that I
added Luca, it seems to work correctly and faster.
However, even if it's faster, to load 38GB, I will need a week.

So, if TransactionalGraph is just start/stop Transactions Marko,
is there a way to do bulk insert disabling transactions ?
I use the BatchGraph class to load data into Neo4j too and it's
the same matter.

Thanks a lot for your help,
Nico

Luca Garulli

unread,
Jun 5, 2012, 9:46:34 AM6/5/12
to orient-...@googlegroups.com
Hi,
I followed the Marko's suggestion to provide a brand new ad-hoc implementation for batch inserts. It's identical to OrientGraph but:
  • doesn't implement TransactionalGraph
  • uses the Massive Insert intent
If you want to try it get this fork:


Lvc@

Marko Rodriguez

unread,
Jun 5, 2012, 9:54:37 AM6/5/12
to orient-...@googlegroups.com
Hi Luca,

I just merged your code and added an OrientBatchGraphTest for only test suites that do NOT remove elements. As such, they pass. For those test suites that check the removing of elements, OrientBatchGraphTest fails -- is this correct? OrientBatchGraph is for insertion only?

Thanks Luca -- I appreciate the new feature.

** Pushed to GitHub and deployed to SonaType SNAPSHOT repository. **

Take care,
Marko.

Luca Garulli

unread,
Jun 5, 2012, 10:28:15 AM6/5/12
to orient-...@googlegroups.com
Hi Marko,
all tests pass on my pc. Are you pointing to the 1.0.2-SNAPSHOT? I've just redeployed it on maven snapshot repository.

Lvc@

Marko Rodriguez

unread,
Jun 5, 2012, 12:25:59 PM6/5/12
to orient-...@googlegroups.com
Hi,

all tests pass on my pc. Are you pointing to the 1.0.2-SNAPSHOT? I've just redeployed it on maven snapshot repository.

Ah. No. I'll keep it at 1.0.1 until 1.0.2 releases. I have the "removal" test cases commented out for now.

Thanks Luca,
Marko.

Nicolas

unread,
Jun 7, 2012, 12:57:07 PM6/7/12
to orient-...@googlegroups.com
Hi Luca,

   I tested the OrientBatchGraph but I don't succeed in running my program without exception.
   Here is my code : 
   OrientBatchGraph g = new OrientBatchGraph("local:/home/nicolas/Recherche/OrientDb/testdb");
BufferedReader buff = new BufferedReader(new FileReader("/home/nicolas/Recherche/file"));
String line="";
int left, right;
Vertex v1, v2;
String[] t;
while ((line = buff.readLine()) != null) {
t = line.split(" ");
left = Integer.parseInt(t[0]);
right = Integer.parseInt(t[1]);
v1 = g.getVertex(left);
v2=g.getVertex(right);
if (v1 == null) {
g.addVertex(left);
v1=g.getVertex(left);
}
if (v2 == null) {
g.addVertex(right);
v2=g.getVertex(right);
}
g.addEdge(left+"to"+right, v1, v2, "f");
}
g.shutdown();
buff.close();

The error is that when "g.addEdge(left+"to"+right, v1, v2, "f");" is executed, v1 and v2 are null. Do i use "getVertex" correctly ?

Thanks again ;)

Le mercredi 23 mai 2012 18:47:03 UTC+2, Nicolas a écrit :
Hi everybody,

    We have a text file which represents the edges of a graph.
    For example :
    id1 id2
    id2 id3
    id3 id1

Luca Garulli

unread,
Jun 7, 2012, 2:35:02 PM6/7/12
to orient-...@googlegroups.com
Hi,
the OrientBatchGraph is quite recent. Assure to use it against OrientDB 1.0.2-SNAPSHOT.

Lvc@

Nicolas

unread,
Jul 21, 2012, 5:12:46 AM7/21/12
to orient-...@googlegroups.com
Hi,

I didn't succeed in making it work with the 1.0.2-Snapshot. It didn't work neither with the 1.1 Snapshot.

I tried another way using a server with a lot of RAM : 64GB memory.
I used the OGraphDatabase to design my graph.
The loading is made in two phases :
-Firstly, I load the vertices in the database and I keep in a HashMap matching between the idTwitter and the vertex I loaded
-Secondly, I load the edges by using the HashMap to create the edges between the vertices representing the idTwitter.

During the load of the vertices, the RAM usage grows fast and then stops at 28GB and nothing seems to happen. Is there a RAM limitation in the OrientDB config ?

Luca Garulli

unread,
Jul 21, 2012, 6:33:22 AM7/21/12
to orient-...@googlegroups.com
Hi,
the 1.0.2-Snapshot is quite old: it has been renamed 1.1.0-SNAPSHOT since 1-2 months.

Please use the 1.1.0-SNAPSHOT.

About your use case what is the JVM's heap? Are you following the suggestion in http://code.google.com/p/orient/wiki/PerformanceTuning ?

Please write here the relevant code that make the insertion.

Lvc@

--
 
 
 

Luca Garulli

unread,
Jul 24, 2012, 3:26:29 AM7/24/12
to orient-...@googlegroups.com
Hi,
how many vertices and edges are you loading?

First suggestion: keep in memory only the RID, not the entire ODocument:

HashMap<Integer, ORID> map = new HashMap<Integer, ORID>();
...
map.put(left, v.getIdentity());
...
v1 = (ODocument) map.get(left).getRecord();
...
v2 = (ODocument) map.get(right).getRecord();
...

Lvc@

On 24 July 2012 09:11, anthony <perez...@gmail.com> wrote:
Hi Luca, 

I work with Nicolas on this project, he is away for a while so I respond for him :-) 

We tried with the 1.1.0-SNAPSHOT but still did not succeed with the OrientBatchGraph.
Regarding our use case, we did not try the performance tuning suggestions, this is something I will try 
to do in the next couple of days. Meanwhile, here is the code we used to make our insertion: 

    OGraphDatabase db = new OGraphDatabase("local:"+args[0]);
        if (db.exists())
            db.open("admin", "admin");
        else
            db.create();
        db.declareIntent(new OIntentMassiveInsert());
        
		FileReader fr = new FileReader(args[1]);
		BufferedReader buff = new BufferedReader(fr);
		String line;
		int left;
		ODocument v;
		
		HashMap<Integer, ODocument> map = new HashMap<Integer, ODocument>();
		
		System.out.println("Début insertion des noeuds");
		while ((line = buff.readLine()) != null) {
			left = Integer.parseInt(line);
			v = (ODocument) db.createVertex().field("idTwitter", left).save();
			map.put(left, v);
		}
		System.out.println("Fin insertion des noeuds");
		buff.close();
		fr.close();
		
		fr = new FileReader(args[2]);
		buff = new BufferedReader(fr);
		
		int right, k= 0;
		String[] t;
		ODocument v1, v2;
		System.out.println("Début insertion des arcs");
		while ((line = buff.readLine()) != null) {
			t = line.split(" ");
			try {
				left = Integer.parseInt(t[0]);
				v1 = map.get(left);

				right = Integer.parseInt(t[1]);
				v2 = map.get(right);
				
				db.createEdge(v1, v2).save();
			} catch (Exception e) {
			}
			k++;
			if (k % 1000000 == 0) {
				k= 0;
				System.out.println("10000000 edges inserted");
			}
		}
		
		buff.close();
		fr.close(); 
 
        db.close();

--
 
 
 

anthony

unread,
Jul 24, 2012, 6:09:06 AM7/24/12
to orient-...@googlegroups.com
Hi, 

Thanks for your quick answer. We are trying to load about 50 million vertices and 2 billion arcs. 
Your first suggestion improved the load of the vertices, however now the edges are loading 
really slowly (something like 100000 every 10 minutes...) 

Is there a way to speed up this insertion? (maybe with an index on the vertices or something?) 

Luca Garulli

unread,
Jul 24, 2012, 6:22:56 AM7/24/12
to orient-...@googlegroups.com
You should know if the most of the time is spent on:
  1. retrieve of the vertices. Fast solutions:
    1. then create an index against the vertex's idTwitter field and remove the hashmap. This will reduce the memory used = less GC but the index will be always slower than a map in memory...
    2. or don't use the massive insert = let to OrientDB to use the 2level cache. This could improve a lot if you've a lot of memory but it's not so distant by your initial solution to keep all the vertexes in memory inside a HashMap
  2. save the vertex: this could be due to the auto-defragmentation of the underlying storage layer (works exactly like a file system). Fast solutions:
    1. wait for the 1.2.0-SNAPSHOT that will improve this
    2. or in the meanwhile enlarge the size occupied by the vertex in the storage by using the oversize. "OGraphVertex" class has 2 as factor of oversize but if you've many edges probably you could enlarge a bit and avoid on using the Tree to handle edge set... more on this in another email if this is the problem
Lvc@

--
 
 
 

anthony

unread,
Jul 24, 2012, 8:35:21 AM7/24/12
to orient-...@googlegroups.com
So, I've tried looking into the first point by removing the use of massive insert. 
This has drastically reduced the speed of vertices insertion: it has inserted about 20 million 
vertices pretty fast, but won't insert another million (i have waited about an hour before posting). 
The memory stopped growing, like if the script was frozen.


Actually, when I first did the test inserting all vertices and then trying to add edges, the memory use 
was about 50% (we have 64 Go available). Like you said, this probably means that adding an index will not solve the problem, 
since retrieving the vertices should be done quite fast with the hashmap. 

So maybe the issue is located at the second point you mentioned? 
For some deadlines reasons, it would be so nice if we could load the graph before early august, so 
if the other solution is not too long to explain, I would be glad to read it :-)

Luca Garulli

unread,
Jul 24, 2012, 8:47:00 AM7/24/12
to orient-...@googlegroups.com
Hi,
First: 2Billions of edges in 50millions of edges means that each vertex has about 40 edges. Are they equally distributed (or close to be equal) or are there some super-nodes that has many of them?

Second: you can have much more memory than 64Gb, but the bottleneneck with JVM is the number of old-gen objects that make the GC run too much time. Unfortunately we don't have a off-heap cache yet (it's planned). So the best strategy could be to keep only the RID in memory and lazy loads the ODocument when you create edges.

If you use your HashMap disable the cache (or just use the massive insert intent) or try to remove it in favor of keep ORIDs only and use the OrientDB cache.

To improve the edge creation, if you've about 40 edges per vertex, is to avoid the automatic upgrading for Set<Edge> by reducing the threshold.

Try to set this before any operation against OrientDB:

OGobalCOnfiguration.MVRBTREE_RID_BINARY_THRESHOLD.setValue(-1);

and then try with:

OGobalCOnfiguration.MVRBTREE_RID_BINARY_THRESHOLD.setValue(1);

The first disable the creation of a Tree to handle the edges, while in the second one always use a tree.

Lvc@

--
 
 
 

anthony

unread,
Jul 25, 2012, 4:05:28 AM7/25/12
to orient-...@googlegroups.com
Hi, 

Unfortunately, no, the degrees are not equally distributed. The graph is power-law, so we have a few vertices with very high degree (up to 3 millions) and a lot of vertices with very small degree. 

I have tried the following: keeping the massive insert for the vertices (this is definitely needed), and removing it for the edges. This improved the speed of insertion a bit, but still remains quite slow (something like 1 million in 10 minutes). 

I have also tried both the configurations you suggested, and it seems that the insertion is faster when the tree is disabled (maybe this comes from the high degree vertices?). 

Just to be clear on what I'm doing right now, I preserve the ORIDs in a Hashmap, and then use it to create the edges (this is something you adviced previously). If I follow you correctly, there is a way to keep ORIDs in the OrientDB cache and then avoid the use of the hashmap?

Again, thanks for your help and quick answers :)
Anthony 

Luca Garulli

unread,
Jul 25, 2012, 10:25:25 AM7/25/12
to orient-...@googlegroups.com
Hi Antony,
release 1.2 will have the defragmentation queue, so on massive insert and update (when you create edges consider as a massive insert+update!) will speed up a lot, but this is not yet available.

If you remove your HashMap you should create an index against the idTwitter attribute but this would slow down the insertion but saving memory. Since this is not your case (you've plenty of memory) using the HashMap could help.

Another small hint: disable the multi-threading if you've a single thread:

OGlobalConfiguration.ENVIRONMENT_CONCURRENT.setValue( false );

Lvc@

--
 
 
 

Milen Dyankov

unread,
Jul 26, 2012, 8:30:43 AM7/26/12
to orient-...@googlegroups.com
Hi guys,

sorry for jumping in the middle of your discussion but I'm experiencing similar problem and it seams I managed to optimize it a bit. I'm inserting about 1M vertexes and about 1.5M edges like this (pseudo code):

foreach (vertexDef) {
 insert vertex_N in DB
 put RID_N in cache
}
...
foreach (edgeDef) {
 insert edge (RID_1 from cache, RID_2 from cache)
}

On my machine this approach resulted the application to "hang" a while after it started to create vertexes. I increased the cache size to 1M entries (I'm using Apache's LRUMap) as I had too much misses causing selecting RIDs from the DB . Strangely enough this din't have any positive impact on performance. 

Profiling the application revealed that with huge LRUMap (1M entries) it takes very long (~200ms) to get the OID from the map (not sure if this is the same with HashMap) . So I reorganized the import process to insert vertexes as soon as possible. Like this (pseudo code):

 insert vertex1 in DB
 put RID_1 in cache
 insert vertex2 in DB
 put RID_2 in cache
 insert edge (RID_1 from cache, RID2 from cache)
 insert vertex3 in DB  
 put RID3 in cache
 insert edge (RID1 from cache, RID3 from cache)
 ....

Now my cache size is only 10000 items and the whole process completes in about 40 minutes on my machine. Monitoring the cache shows I have no misses. 

To sum up, make sure the HashMap performs well with your amount of data! If not, try to reorganize the import to reduce the amount of data in the map or use different structure. 
Not sure it is even possible in your case, but I just thought I'll share my findings. 

Regards,
Milen




--
 
 
 



--

Milen Dyankov

unread,
Jul 26, 2012, 9:40:05 AM7/26/12
to orient-...@googlegroups.com
Just realized I've made a typo. This:

 ... the application to "hang" a while after it started to create vertexes

should be 

 ... the application to "hang" a while after it started to create edges


Regards,
Milen

Konrad

unread,
Aug 1, 2012, 2:32:39 PM8/1/12
to orient-...@googlegroups.com
I've been reading around the Groups (both Gremlin and Orient) and still haven't found out how to do this "disable transactions".

There is written on the OrientDB wiki that disabling transactions (along with specifying intent) will speed up bulk inserts but I haven't figured out how that is done with OrientGraph or OrientBatchGraph.

Couldn't just the use of  OrientBatchGraph both specify intent "massive insert" and disabling transactions in underlying Orient database? Or this is what's already happening?
In that case, then there should be no point in using BatchGraph wrapping a OrientBatchGraph right?

Kind regards,
Konrad

Luca Garulli

unread,
Aug 1, 2012, 6:39:24 PM8/1/12
to orient-...@googlegroups.com
Hi,
using OrientBatchGraph class you avoid transactions and the massive insert intent is declared by default ;-)

Lvc@

--
 
 
 

Jan Drake

unread,
Oct 30, 2013, 8:54:02 PM10/30/13
to orient-...@googlegroups.com
Darren,

Did you get a resolution on this?  I'm seeing similar issues with 1.5 and 50-150 edges.

On Friday, February 15, 2013 1:59:34 PM UTC-8, darre...@osi.com wrote:
Hi All,

Has anyone come up with a preferred solution for this?  Using tinkerpop 2.2.0 and orient 1.3 i have tried using 4 different approaches (GraphMLReader, BatchGraph<OrientGraph>, OrientBatchGraph and OGraphDatabase directly) to load a graph with about 100K vertex and 200K edges and is structured as 100 trees that go 4 levels deep.  This load is taking over a minute for all methods ranging from 62 seconds to 78 seconds.  There is not that much difference in time so I'm assuming the slow down is due to some configuration issue and not the specific api used but I'm just not seeing it.  This solution will need to scale to about 10 to 20 million vertex and 30 to 40 million edges in production and run regularly.  I have attached the 4 classes implementing the load. 

Any feed back would be greatly appreciated.

Thanks
Darren

Jan Drake

unread,
Oct 31, 2013, 3:51:58 PM10/31/13
to orient-...@googlegroups.com
Luca,

Looks like Darren didn't get a resolution for insert speeds with OrientDB.  I found this:  http://blog.euranova.eu/wp-content/uploads/2013/10/an-empirical-comparison-of-graph-databases1.pdf

I'm seeing very similar problems with 1.5 and inserting into a graph with about five vertex classes and 7 edge classes but with fairly high cardinality of edge instances to vertex instances.

What should we expect from OrientDB in terms of insertion speed?


Jan

tia

unread,
Feb 20, 2014, 1:33:51 PM2/20/14
to orient-...@googlegroups.com

Hi,
Any updates on this?  Been struggling with this problem also.    I test loaded an RDF/XML file with 48631 triples and the total time to complete is:

TOTALTIME (ms): 971055

And this is a load onto an empty database.  When i load a file that has nodes with less edges, timing is very fast .

Here's my code for loading  and the test data file if that would help.  I'm running orientdb-server-1.7-SNAPSHOT .



   
public void loadRDFFile_OrientGraphNoTx(
           
String remoteDbsUrl, String remoteDbsUser, String remoteDbsPwd,
           
String inputFile, String baseURI, String inputFormat) {
       
       
Orient.instance().registerEngine(new OEngineRemote());

       
OrientGraphNoTx graph = new OrientGraphNoTx(remoteDbsUrl, remoteDbsUser, remoteDbsPwd);
        graph
.getRawGraph().declareIntent(new OIntentMassiveInsert());
       
       
Sail s = new GraphSail<OrientGraphNoTx>(graph);
       
SailGraph sailGraph = new SailGraph(s);
       
       
Long curr=System.currentTimeMillis();
       
System.out.println((new Timestamp((new java.util.Date()).getTime())) + "|STARTTIME:  "+ curr);
       
try {
            sailGraph
.loadRDF(
                   
new FileInputStream(inputFile),
                    baseURI
,
                    inputFormat
,
                   
null);
           
System.out.println("TOTALTIME: "+(System.currentTimeMillis()-curr));

       
} catch (FileNotFoundException e) {
            e
.printStackTrace();
       
} catch (java.lang.RuntimeException e2) {
           
System.out.println("DATAFILE FAILED LOADING: "+ inputFile);
            e2
.printStackTrace();
                 
       
} finally {
            sailGraph
.shutdown();
            graph
.shutdown();
       
}
   
}


Tia
testSample99.xml

Darren Seay

unread,
Feb 20, 2014, 1:37:12 PM2/20/14
to orient-...@googlegroups.com
Sorry i gave up on orient and we went with an a home grown solution.  Just could not get the performance we needed.

Darren



--
 
---
You received this message because you are subscribed to a topic in the Google Groups "OrientDB" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/wYT5lAlRXow/unsubscribe.
To unsubscribe from this group and all its topics, send an email to orient-databa...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Luca Garulli

unread,
Feb 20, 2014, 2:08:39 PM2/20/14
to orient-database
Hi,
please try 1.7-rc1 or 1.7-rc2-SNAPSHOT. Furthermore don't use remote but rather plocal URL directly.

Lvc@



--
 
---
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 orient-databa...@googlegroups.com.

tia

unread,
Feb 20, 2014, 4:27:20 PM2/20/14
to orient-...@googlegroups.com

Ah, yes.   I do pass in the plocal URL directly to the method.  Sorry if my code parameter naming is mis-leading.

Tia
Reply all
Reply to author
Forward
0 new messages