Rexster / Rexpro:RexProScriptException:.. java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:PermGen space

时间:2015-04-21 10:45:49

标签: graph-databases titan rexster

我使用的是TITAN-0.4.3,REXSTER 2.4而不是Cassandra& Elasticsearch。 我从Python调用rexpro。在单个gremlin请求中,我试图添加100个顶点并提交。我能够在400多个gremlin请求中成功添加40000多个顶点。然而,在那之后,我变得异常:

Encountered a RexProScriptException: An error occurred while processing the script for language [groov
    y]. All transactions across all graphs in the session have been concluded with failure: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space

Rexster.sh [JVM堆大小] 我尝试增加堆内存,但在插入更多批顶点之后仍然抛出异常。

# Set Java options
if [ "$JAVA_OPTIONS" = "" ] ; then
    JAVA_OPTIONS="-Xms256m -Xmx1024m"
fi

请咨询

1 个答案:

答案 0 :(得分:1)

根据您提供的信息进行猜测,但是如果您没有参数化您要发送的脚本,则PermGen错误通常会显示在Rexster中。我知道支持该功能的大多数python库。您可以在此处详细了解此问题:

https://github.com/tinkerpop/rexster/issues/143

和gremlin用户邮件列表中的其他位置,如果你搜索周围。如果由于某种原因您无法参数化,则可以更改此JVM设置:

-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=512M

但我认为这是最后的手段。参数化不仅应该解决您的问题,还可以大大加快您的数据加载过程。