neo4jneo4j-parallel-runtime

Neo4j PARALLEL runtime query returns different result


I'm testing the new Neo4j PARALLEL runtime and am unable to pass my tests because my queries return different results (different elements order) compared to SLOTTED or PIPELINED. Do I need to somehow refine these queries so that they work properly on PARALLEL runtime? Do you have any docs on this? Or, are these refinements unnecessary, and the queries should return exactly the same result as on SLOTTED or PIPELINED?

Also, there is a limitation It is not possible to use the parallel runtime if a change has been made to the state of a transaction. https://neo4j.com/docs/cypher-manual/current/planning-and-tuning/runtimes/reference/

Unfortunately, I have many scenarios where I currently use apoc.cypher.mapParallel2 to read data in the same transaction where I'm updating it. I would like to transition to the PARALLEL runtime, but I am unable to do so due to this limitation. Are you planning to overcome this limitation in the future?


Solution

  • Due the the Parallel nature of Neo4j these situations stem as reasons for what you experienced.

    For situational restrictions so mentioned , I doubt if they have plans to update.