2015-01-14 3 views
3

Я пытаюсь создать относительно небольшой Neo4j db на ПК (или, точнее, MacBookPro 10.9.2, работающий с Neo4j 2.1.0), состоящий из 1400 операторов CREATE. Когда я загружаю файл графа через терминал я получаю следующее сообщение об ошибке (весь StackTrace слишком долго Stackoverflow, но вот первые три строки сообщения об ошибке и причиненных списком):Neo4j java.lang.StackOverflowError

Error occurred in server thread; nested exception is:  
java.lang.StackOverflowError 
java.rmi.ServerError: Error occurred in server thread; nested exception is:  
java.lang.StackOverflowError 
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:350) 
at sun.rmi.transport.Transport$1.run(Transport.java:177) 
at sun.rmi.transport.Transport$1.run(Transport.java:174) 

...

Caused by: java.lang.StackOverflowError 
at org.neo4j.cypher.internal.compiler.v2_1.ReattachAliasedExpressions$.apply(ReattachAliasedExpressions.scala:31) 
at org.neo4j.cypher.internal.compiler.v2_1.ReattachAliasedExpressions$$anonfun$2.apply(ReattachAliasedExpressions.scala:36) 
at org.neo4j.cypher.internal.compiler.v2_1.ReattachAliasedExpressions$$anonfun$2.apply(ReattachAliasedExpressions.scala:36) 
at scala.Option.map(Option.scala:145) 

я могу загрузить все 1400 создавать операторы в отдельных файлах, содержащих 300-Создание заявления, так что мой Cypher кажется правильным. Как увеличить размер стека, чтобы я мог загрузить большую базу данных Neo4j? (Я создаю базу данных из огромного количества xml, и ожидаем, что в конечном счете должно быть ~ 3000 узлов и ~ 4000 отношений).

+0

Пожалуйста, добавьте весь стек. – Jens

+1

Рассматривали ли вы преобразование XML в CSV и использование 'LOAD CSV'? –

+0

@Jens Я добавил stacktrace – CLKC

ответ

0

Я знаю, что это старый вопрос, но я дам вам ответ на любые будущие Googlers.

Как увеличить размер стека, чтобы я мог загрузить большую базу данных Neo4j?

У меня была аналогичная проблема с загрузкой большого командного файла Cypher (также из Java). Я смог завершить его, увеличив размер JVM Stack до 2 мегабайт. Способ сделать это, чтобы добавить строку конфигурации для дополнительных опций JVM до конца вашего neo4j.conf файла:

#increasing stack size 
dbms.jvm.additional=-Xss2M 

Мой командный файл был длиной около 2600 строк, так что ваш размер стека может меняться в зависимости от размера вашего файла или количества команд.

Смежные вопросы