Denodo [Custom Wrapper] [ошибка] Полученное исключение с сообщением Запрошенный размер массива превышает ограничение виртуальной машины - PullRequest
0 голосов
/ 22 сентября 2019

Я понимаю проблему.Очень хорошо объяснено в другом потоке Как исправить ошибку "Размер запрашиваемого массива превышает ограничение виртуальной машины" в Java? .Я попытался увеличить параметры -Xms6G -Xmx6G -XX: MaxPermSize = 1G -XX: PermSize = 512M.

Мой алгоритм оптимизирован, Мой источник - API REST.Из одного из InputStream я читаю JSON, а затем Gson анализирует данные по блокам.затем перебирая его через каждый кусок и сохраняя его, как показано ниже, фрагмент кода.
Где я не прав?Мой размер JVM уже составляет 50% от оперативной памяти, а jmx и другие параметры также огромны.

1. Я сомневаюсь, что либо List projectedFields содержит очень большие данные, либо результат CustomWrapperResult не можетдля размещения очень огромного набора данных.
2. Можно ли в любом случае записывать данные в projectedFields постепенно


В любом случае, я пишу, как показано ниже, в нескольких разделах.

for (userClassVO this_user:ObjectType_list)
{
    List<Object> this_row = populateRowValues(this_user); 
    result.addRow(this_row.toArray(), projectedFields);
}

Возможно, мне придется проанализировать дамп потока кучи, который может привести меня куда-то.Просто хотел убедиться, что я в правильном направлении?
3. Как можно получить дамп кучи на сервере Denodo VDP?

Спасибо,

...