Rexster/Rexpro: RexProScriptException: .. java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: пространство PermGen

Я использую TITAN-0.4.3, REXSTER 2.4 вместо Cassandra & Elasticsearch. Я вызываю rexpro из Python. В одном гремлин-запросе я пытаюсь добавить 100 вершин и зафиксировать. Я могу успешно добавить 40000+ вершин в 400+ гремлин-запросах. Однако после этого я получаю исключение:

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

Пожалуйста посоветуй


person Remis Haroon - رامز    schedule 21.04.2015    source источник


Ответы (1)


Просто предположение, основанное на предоставленной вами информации, но..... Ошибки PermGen обычно появляются в Rexster, если вы не параметризуете отправляемые сценарии. Большинство известных мне библиотек Python поддерживают эту функцию. Подробнее об этой проблеме можно прочитать здесь:

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

и другие места в списке рассылки пользователей гремлинов, если вы будете искать. Если по какой-то причине вы не можете параметризовать, вы можете изменить этот параметр JVM:

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

но я бы посчитал это крайней мерой. Параметризация должна не только избавиться от вашей проблемы, но и значительно ускорить процесс загрузки данных.

person stephen mallette    schedule 21.04.2015
comment
Оно работало завораживающе .. !!!! Также улучшилась производительность (увеличена скорость), параметризация скрипта сделала свое дело. Престижность @stephenmalette - person Remis Haroon - رامز; 22.04.2015