JSON stream export: Transaction rolled back even if marked as successful

Hello,
I'm working on exporting the results of the following query as a JSON stream.

CALL apoc.export.json.query(
"MATCH (interactorA:GraphInteractor)<-[:interactors]-(interaction:GraphBinaryInteractionEvidence)-[:interactors]->(interactorB:GraphInteractor)
WHERE  ID(interactorA)<ID(interactorB) AND EXISTS(interactorA.uniprotName) AND EXISTS(interactorB.uniprotName)
OPTIONAL MATCH (interaction)-[identifiersR:identifiers]-(identifiersN:GraphXref)-[sourceR:database]-(sourceN:GraphCvTerm) WHERE sourceN.shortName IN ['reactome','signor','intact']
OPTIONAL MATCH (interaction)-[interactiontypeR:interactionType]-(interactiontypeN:GraphCvTerm)
OPTIONAL MATCH (interaction)-[experimentR:experiment]-(experimentN:GraphExperiment)-[interactionDetectionMethodR:interactionDetectionMethod]-(interactionDetectionMethodN:GraphCvTerm)
OPTIONAL MATCH (experimentN)-[hostOrganismR:hostOrganism]-(hostOrganismN:GraphOrganism)
OPTIONAL MATCH (experimentN)-[participantIdentificationMethodR:participantIdentificationMethod]-(participantIdentificationMethodN:GraphCvTerm)
OPTIONAL MATCH (experimentN)-[publicationR:PUB_EXP]-(publicationN:GraphPublication)-[pubmedIdXrefR:pubmedId]-(pubmedIdXrefN:GraphXref)
OPTIONAL MATCH (interaction)-[clusteredInteractionR:interactions]-(clusteredInteractionN:GraphClusteredInteraction)
OPTIONAL MATCH (interaction)-[complexExpansionR:complexExpansion]-(complexExpansionN:GraphCvTerm)
RETURN
       distinct
       interactorA.uniprotName as interactorA_uniprot_name,
       interactorB.uniprotName as interactorB_uniprot_name,
       interactiontypeN.shortName as interaction_type_short_name,
       interactiontypeN.mIIdentifier as interaction_type_mi_identifier,
       interactionDetectionMethodN.shortName as interaction_detection_method_short_name,
       interactionDetectionMethodN.mIIdentifier as interaction_detection_method_mi_identifier,
       hostOrganismN.scientificName as host_organism_scientific_name,
       hostOrganismN.taxId as host_organism_tax_id,
       participantIdentificationMethodN.shortName as participant_detection_method_short_name,
       participantIdentificationMethodN.mIIdentifier as participant_detection_method_mi_identifier,
       clusteredInteractionN.miscore as mi_score,
       pubmedIdXrefN.identifier as pubmed_id,
       COLLECT(identifiersN.identifier) as interaction_identifier,
       CASE WHEN complexExpansionN.shortName IS NULL THEN 'Not Needed' ELSE complexExpansionN.shortName END as expansion_method_short_name,
       CASE WHEN complexExpansionN.mIIdentifier IS NULL THEN 'Not Needed' ELSE complexExpansionN.mIIdentifier END as expansion_method_mi_identifier,
       COLLECT (sourceN.shortName) as source_databases
       ORDER BY interactorA_uniprot_name
", null, {stream:true}
)
YIELD file, nodes, relationships, properties, data
RETURN file, nodes, relationships, properties, data

I'm currently working on Neo4j Desktop with these configurations :

  • apoc.export.file.enabled=true
  • dbms.memory.heap.initial_size=2G
  • dbms.memory.heap.max_size=2G
  • dbms.memory.pagecache.size=3G
  • dbms.threads.worker_count=4

The graph is in Neo4j 3.5.7 and I cannot really upgrade it since a lot of work has already been made on top of it. I also use APOC 3.5.0.9.

The query is working on a smaller dataset, but not on the full one (graph.db = 7.2GB). Therefore it might be a problem of size, or maybe of the structuration of the data.

The CSV stream export is also working, as well as JSON file export.

The exact error that I get both from neo4j-java-driver and Neo4j browser is the following

I don't really understand the error, so if someone could explain it to me, it would be wonderful :grinning:.
I've tried profilining and explain but it didn't helped much
Screenshot 2020-03-23 at 12.40.09