gpt4 book ai didi

java - 嵌入式 GraphDatabaseServer 中的 Neo4j 属性解析错误

转载 作者:行者123 更新时间:2023-11-29 03:34:26 28 4
gpt4 key购买 nike

我正在尝试在新机器上加载现有的 neo4j 数据库。旧机器运行 1.9.M05,而新机器运行 1.9RC1。我只是将 data/graph.db 文件从旧安装复制到新安装。

服务器启动正常,网络管理界面看起来一切正常。

但是,当我尝试从 Java 访问作为 EmbeddedDatabase 的数据库时,出现以下错误,提示它无法解析 mapped_memory 属性。当我在代码库和 neo4j 源代码中查找“94M”的“坏值”时,我找不到任何提及它的地方。 webadmin 界面报告 mapped_memory 属性设置为 45M。

如果 db 文件中存储了错误的值,是否有办法在 加载损坏的设置之前强制指定的 .props 文件?

调用代码:

GraphDatabaseFactory factory =                                                                                                                              
new org.neo4j.graphdb.factory.GraphDatabaseFactory();
GraphDatabaseService graphDb = factory
.newEmbeddedDatabaseBuilder(DB_PATH)
.loadPropertiesFromFile(NEO_HOME + "conf/neo4j.properties" )
.newGraphDatabase();

异常:

 [java] Exception in thread "main" java.lang.IllegalArgumentException: Bad value '-94M' for setting 'neostore.propertystore.db.strings.mapped_memory': value does not match expression:\d+[kmgKMG]?
[java] at org.neo4j.helpers.Settings$DefaultSetting.apply(Settings.java:788)
[java] at org.neo4j.helpers.Settings$DefaultSetting.apply(Settings.java:708)
[java] at org.neo4j.graphdb.factory.GraphDatabaseSetting$SettingWrapper.apply(GraphDatabaseSetting.java:215)
[java] at org.neo4j.graphdb.factory.GraphDatabaseSetting$SettingWrapper.apply(GraphDatabaseSetting.java:189)
[java] at org.neo4j.kernel.configuration.ConfigurationValidator.validate(ConfigurationValidator.java:50)
[java] at org.neo4j.kernel.configuration.Config.applyChanges(Config.java:121)
[java] at org.neo4j.kernel.InternalAbstractGraphDatabase.create(InternalAbstractGraphDatabase.java:337)
[java] at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:254)
[java] at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:90)
[java] at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:85)
[java] at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:205)
[java] at com.mycompany.CMDRunner.printNeoSegments(CMDRunner.java:27)

最佳答案

此错误消息可能是 Neo4j 中的错误,只有在没有足够的可用物理 RAM 时才会发生。应该有一个更好的错误消息,清楚地指出阻止启动的原因。

尝试为您的机器添加更多物理内存,我建议 1 GB 或更多。

错误报告:https://github.com/neo4j/neo4j/issues/746

关于java - 嵌入式 GraphDatabaseServer 中的 Neo4j 属性解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16290017/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com