1

既存の neo4j データベースを新しいマシンにロードしようとしています。古いマシンは 1.9.M05 を実行していましたが、新しいマシンは 1.9RC1 を実行しています。古いインストールから新しいインストールに data/graph.db ファイルをコピーしただけです。

サーバーは正常に起動し、webadmin インターフェイスはすべて正常に動作しているように見えます。

ただし、Java から EmbeddedDatabase としてデータベースにアクセスしようとすると、mapped_memory プロパティを解析できないという以下のエラーが表示されます。コードベースとneo4jソースで「94M」の「悪い値」をgrepすると、それについての言及が見つかりません。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)
4

2 に答える 2

2

neostore.propertystore.db.strings.mapped_memoryそれがあなたの問題があるように思われるので、あなたのneo4j.propertiesをチェックしてください。

于 2013-04-30T00:13:34.410 に答える