我一直在尝试对我的数据库进行一些重构工作(在节点之间创建新的关系以加快某些查询),但是因为我低估了节点的数量而导致内存不足(愚蠢周五下午的错误那是我周一付的钱。查询没有完成,但确实导致数据库崩溃,并且需要重新启动服务器。
现在,我正在尝试重新运行查询,但似乎我的某些数据已损坏或某些节点已被孤立(可能是因为事务没有时间回滚)。
有没有人有过这个错误的经验,或者有关如何修复它的建议?
这是一个alpha-semi-prod数据库,我有夜间备份(以及一小组用户),所以我不喜欢不必使用备份,因此保存数据。
我遇到的错误:
While loading relationships for Node[1020530] a Relationship[3372448] was encountered that had startNode: 1865693 and endNode: 1769485, i.e. which had neither start nor end node as the node we're loading relationships for
查询(为了完整起见而包含):
CALL apoc.periodic.commit(
'MATCH (a:Address)-[:IN]->(c:City) WHERE not((a)-[:ADDR_IN_CITY]->(:City)) WITH a, c LIMIT {limit} CREATE (a)-[:ADDR_IN_CITY]->(c) RETURN COUNT(c) as c_count',
{ limit: 1000 }
)