Мы создали приложение с:
- 2 узлами + 1 нотариусом
- 2 веб-приложением (по одному на каждый узел)
Corda Version3,2
CordApp имеет:
- первый поток, получающий на входе список объектов, используемых для создания списка состояний.Этот список будет выводом транзакции
список объектов (около 3000 объектов) разделен на списки размером 450 (из-за ошибки ActiveMQ Artemis для списков большего размера [java.lang].IllegalArgumentException: запись слишком велика для хранения])
после первого потока мы запускаем другой поток с аналогичной логикой.В этом случае у нас есть список StateAndRef (результаты запроса с RPCops), полученные в качестве входных данных в потоке и используемые в качестве выходных данных для транзакции.
- либо в этом случае мы разбиваем список (около 3000 объектов) в подсписках из 450 элементов.
Случайно мы получили Ошибка пространства кучи Java и SslHandshakeCompletionEvent (javax.net.ssl.SSLException: истекло время ожидания рукопожатия) .Это кажется серьезной утечкой памяти.
Мы можем выполнить весь рабочий процесс только , используя параметры -Xmx10240m (10 ГБ) на нашей локальной машине.Наблюдая за ресурсом, кажется, что куча особенно растет во время транзакций.
В чем может быть причина этого сбоя?
Не возможно использовать Corda со списками такого размера?