Apoc.periodic.iterate - get the list of failed operations

apoc
apocperiodiciterate

(Mralexeykuznetsov) #1

Is it possible to get the list of failed batches during apoc.periodic.iterate? (apoc-3.5.0.1-all)

In my case around 1% of the batches of apoc.periodic.iterate with {parallel:true, concurrency:16} fail most likely because 2 threads are trying to create relationship to/from the same node at the same time. Retries do not seem to help...
I thought that if I could get the list of the results of the cypherIterate where the cypherAction failed, I could run on those apoc.periodic.iterate with parallel:false (with parallel:false I get 0 failed batches). Is it possible? Or are there workarounds?
Running the complete query with parallel:false takes too long... :frowning:

Thank you!


(Michael Hunger) #2

Great question, can you raise this as an apoc issue.

Do you have a good suggestion on how to provide the batches? Are the batch numbers enough i.e. the nth slice of the original data?
Given that it can be huge amounts of data (think 100M inserts with 60% failed).


(Michael Hunger) #3

We should also fix it so that retries work.


(Mralexeykuznetsov) #4

Issue added https://github.com/neo4j-contrib/neo4j-apoc-procedures/issues/1055
I think batch numbers could be enough. Another supporting function could be used to retrieve results of certain batches (it is also feasible to write on my own)

Thanks!