Shouldn't be slow. Faster disk. Concurrent batches would help. 

Von meinem iPhone gesendet

> Am 18.06.2016 um 22:29 schrieb John Fry <frydom.j...@gmail.com>:
> 
> 
> Clark - this works. It is still slow. I guess multithreading may help 
> some.... 
> 
> 
> 
>         Transaction tx = db.beginTx();
> 
>       //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.close();
> 
>                               tx = db.beginTx();
> 
>                       }
> 
>               }
> 
>               tx.success();
> 
>               tx.close();
> 
>         //}
> 
>         //catch (Exception e) {
> 
>         //    System.out.println("Exception link deletion: " + 
> e.getMessage());
> 
>         //}
> 
> 
> 
> 
> 
> 
>> On Saturday, June 18, 2016 at 2:03:33 PM UTC-7, John Fry 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