I just tried to dump out that number in each my delete method. It turns out this number is always 0. What does that mean? I only called begin() once in the top level method never called it again in each delete method.
Thanks, Tai On Wednesday, September 30, 2015 at 12:15:19 PM UTC-4, Jan Plaček wrote: > > Try to dump following in your methods: > > graph.getRawGraph().getTransaction().amountOfNestedTxs(); > > I checked the tx implementation, and commit is not triggered when this > number is not 0: > > > https://github.com/orientechnologies/orientdb/blob/16cffc1b9ac9553f4ec4b1af8caa6a41a0322697/core/src/main/java/com/orientechnologies/orient/core/tx/OTransactionOptimistic.java > > Maybe retarded question, but just to be sure, do you also call begin() in > deleteChild(g) and deleteParent(g) ? > > Dne úterý 29. září 2015 20:59:52 UTC+2 Tai Hu napsal(a): >> >> I have a question regarding to transaction propagation. For my data >> model, I have bunch of delete methods to delete each individual type of >> vertex in OrientDB. However, I also have a big delete method which suppose >> to delete all types of object at once. This operation need to be ACID, >> either delete all of them or not at all. I created one OrientGraph object >> and pass it into all each individual methods. However, after each delete >> method, the operation is automatically commit. So if my big delete method >> failed half way, my OrientDB will be out of sync. I tried to call >> setAutoStartTx(false) on OrientGraph and manually called begin() method on >> OrientGraph, but transaction still automatically committed after each >> delete method. Is there any way to manually control my transaction in >> OrientGraph? >> >> Thanks, >> >> Tai >> > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
