我成功地从 Neo4J 2.0.0.M6社区版迁移到 2.0.0.RC1企业版。
但是...
当我在做这个查询时:
neo4j-sh (?)$ START n=node(4) RETURN n;
答案是
EntityNotFoundException: Node with id 4
当我进行neo4j备份时,会生成不一致错误
2014-01-25 21:19:58.808+0000 INFO [org.neo4j]: ERROR: This label scan document refers to a node record that is not in use.
NodeLabelRange[docId=2; {Node[3]: Labels[0], Node[4]: Labels[1], Node[5]: Labels[1], Node[6]: Labels[1], Node[7]: Labels[1], Node[8]: Labels[0], Node[9]: Labels[1], Node[10]: Labels[1], Node[11]: Labels[1], Node[12]: Labels[0], Node[13]: Labels[1], Node[14]: Labels[1], Node[15]: Labels[0], Node[17]: Labels[1], Node[16]: Labels[1], Node[19]: Labels[1], Node[18]: Labels[0], Node[21]: Labels[1], Node[20]: Labels[1], Node[23]: Labels[1], Node[22]: Labels[1], Node[25]: Labels[1], Node[24]: Labels[1], Node[27]: Labels[1], Node[26]: Labels[0], Node[29]: Labels[1], Node[28]: Labels[1], Node[31]: Labels[0], Node[30]: Labels[1]}
Inconsistent with: Node[30,used=false,rel=0,prop=0,labels=Inline(0x0:[]),light]. 100%
2014-01-25 21:19:58.809+0000 INFO [org.neo4j]: Inconsistencies found:
ConsistencySummaryStatistics{
Number of errors: 28
Number of warnings: 0
Number of inconsistent LABEL_SCAN_DOCUMENT records: 1
我在节点3上有不一致 - > 30.
我不再使用那些节点,所以我试图删除它们但没有成功......
那么......如何删除它们或解决问题?
谢谢! Bons baisers de France:D
答案 0 :(得分:3)
此处记录了从2.0.0-M06移至2.0.0-RC1(或2.0.0)的手动升级:
http://blog.neo4j.org/2013/11/neo4j-200-rc1-final-preparations.html
使用任何以前的里程碑版本创建的数据存储不能与2.0.0-RC1一起使用,除非执行手动升级。这是由于对商店文件进行了不兼容的更改。请谨慎操作,在尝试手动升级之前备份数据。
在Neo4j 2.0.0-M06上彻底关闭旧版本
bin/neo4j stop
导航到数据库目录
cd data/graph.db
删除标签扫描存储(这是具有新格式的关键部分)。它将在启动时重新创建。
rm -rf schema/label
从新版本的Neo4j 2.0.0-RC1
开始 bin/neo4j start
答案 1 :(得分:0)
通常可以修复不一致的数据存储,但需要a)深入了解内部数据结构,以及b)大量的手工工作。
因为你已经从2.0.0-M06移动 - > 2.0.0-RC1我的猜测是,2.0.0中已经解决了不一致的根源。请注意,里程碑版本没有生产质量。
最简单的方法是从头开始重建数据库。如果这是不可能的并且数据库相当小,您可以使用neo4j-shell中的DUMP
命令将完整数据集导出到cypher create语句并将其应用于新的2.0.0数据库。