Don't them. Just create a counter and every x deletes commit the transaction 
and open a new one. 

Sent from my iPhone

> On Jun 18, 2016, at 17:03, John Fry <frydom.j...@gmail.com> wrote:
> 
> Thanks Clark - is there any good/recommended way to nest the commits?
> 
> Thx JF
> 
>> On Saturday, June 18, 2016 at 1:43:19 PM UTC-7, Clark Richey wrote:
>> You need to periodically commit.  Holding that many transactions in memory 
>> isn't efficient.  
>> 
>> Sent from my iPhone
>> 
>>> On Jun 18, 2016, at 16:41, John Fry <frydo...@gmail.com> wrote:
>>> 
>>> Hello All,
>>> 
>>> I have a graph of about 200M relationships and often I need to delete a 
>>> larges amount of them.
>>> For the proxy code below I am seeing huge memory usage and memory thrashing 
>>> when deleting about 15M relationships.
>>> 
>>> When it hits tx.close() I see all CPU cores start working at close to 100% 
>>> util and thrash for > 30mins.
>>> I need this to work in <5mins ideally.
>>> 
>>> (note when I execute large amounts of changes to properties or create large 
>>> amounts of new properties I don't have such issues)
>>> 
>>> Any advice? Why is this happening?
>>> 
>>> Regards, John.
>>> 
>>> 
>>> 
>>>          int txc = 0;
>>> 
>>>          // serially delete the links       
>>> 
>>>          try ( Transaction tx = db.beginTx() ) {
>>> 
>>>                     for (int i=0; i<deletedLinks.size(); i++) {
>>> 
>>>                             Relationship rel = 
>>> db.getRelationshipById(deletedLinks.get(i));
>>> 
>>>                             rel.delete();
>>> 
>>>                             txc++;
>>> 
>>>                             if (txc>50000) {
>>> 
>>>                                     txc=0;
>>> 
>>>                                     tx.success();
>>> 
>>>                             }
>>> 
>>>                     }
>>> 
>>>                     tx.success();
>>> 
>>>                     tx.close();
>>> 
>>>         }
>>> 
>>>         catch (Exception e) {
>>> 
>>>             System.out.println("Exception link deletion: " + 
>>> e.getMessage());
>>> 
>>>         }
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to neo4j+un...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to neo4j+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to