java - Neo4j java.lang.StackOverflowError

标签 java neo4j stack-overflow

我正在尝试在 PC(或者更准确地说,是运行 Neo4j 2.1.0 的 MacBookPro 10.9.2)上创建一个相对较小的 Neo4j 数据库,其中包含 1400 个 CREATE 语句。当我通过终端加载图形文件时,我收到以下错误消息(整个堆栈跟踪对于 Stackoverflow 而言太长,但这是错误消息和 Caused By 列表的前三行):

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 个关系)。

最佳答案

我知道这是一个较早的问题,但我会为 future 的任何 Google 员工提供答案。

How can I increase my stack size so that I can upload a larger Neo4j database?

我在加载大型 Cypher 命令文件时遇到了类似的问题(也来自 Java)。我能够通过将 JVM 堆栈大小增加到 2 兆字节来完成它。这样做的方法是在 neo4j.conf 文件的末尾添加一个用于附加 JVM 选项的配置行:

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

我的命令文件大约有 2600 行长,因此您的堆栈大小可能会因文件大小或命令数量而异。

关于java - Neo4j java.lang.StackOverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27936732/

相关文章:

java - &nbsp 字符在 Java 中无法正确显示

java - 无法理解在 neo4j 上安装 gremlim 插件的说明

c++ - const char 声明导致堆栈溢出

java - 循环选项时出现 StackOverFlowError

c# - 对 GridView 进行排序时出现“System.StackOverflowException”

java - 使用 Jena 读取 Turtle 中带空格的 URI?

java - 试图通过 java 实现 LinkedList 的概念,但它在编译时给出错误?

java - 嵌入式 Jetty 环境中的 Spring Boot 和 Spring Security 集成

date - 如何在 Java 中使用 GremlinPipeline 和 PipeFunctions 进行查询?

database - 图数据库设计方法