Hi,
I have the following cypher:
batch size is 10k
UNWIND $batch as row
MATCH (from:Project)
WHERE from.id = row.from_id
MATCH (to:Project_Tag)
WHERE to.id = row.to_id
MERGE (from)-[r:HAS_TAG]-(to)
ON MATCH SET r.name = row.name,r.website_page_num = row.website_page_num,r.website_appear_num = row.website_appear_num,r.updated_time = row.updated_time
ON CREATE SET r.name = row.name,r.website_page_num = row.website_page_num,r.website_appear_num = row.website_appear_num,r.updated_time = row.updated_time,r.desc_page_num = "0",r.desc_appear_num = "0"
I have already created millions of Project nodes and Project_Tag nodes with indexing all nodes attributes before running the above cypher query. it will somehow cause the followed exception when I run this cypher under Java and in a single transaction:
can't acquire ExclusiveLock{owner=ForsetiClient[0]} on NODE(290), because holders of that lock are waiting for ForsetiClient[1]
I have no idea how this happened. Is it possible that ExclusiveLock problem could be caused in a single transaction? Can anyone help me?
Thanks!