2014-09-10 4 views
0

После перехода на gridgain 6.2.0 на mac и linux мы получаем исключения «слишком много открытых файлов» при запуске нашего пакета тестов для junit. Индивидуальные тестовые примеры прекрасно работают на них. Мы получаем эти ошибки только при запуске всего пакета. Что-то изменилось в количестве файлов gridgain остается открытым в 6.2.x? Вот пример исключения на Mac (по Linux, ошибка похожа, но проистекает из пакета nio). Увеличение открытых ограничений на доступ к файлам в ОС устраняет проблему, но является ли это проблемой ошибка или просто дополнительный элемент обновления, который необходимо отметить?GridGain 6.2.0/6.2.1: открыто слишком много файловых дескрипторов

Благодаря

[2014-09-10 12:02:49,396] ERROR GridTcpDiscoverySpi - Failed to accept TCP connection 
On MAC OS you may have too many file descriptors open (simple restart usually solves the issue) [] 
java.net.SocketException: Invalid argument 
at java.net.PlainSocketImpl.socketAccept(Native Method) 
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398) 
at java.net.ServerSocket.implAccept(ServerSocket.java:530) 
at java.net.ServerSocket.accept(ServerSocket.java:498) 
at org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi$TcpServer.body(GridTcpDiscoverySpi.java:5037) 
at org.gridgain.grid.spi.GridSpiThread.run(GridSpiThread.java:67) 

ответ

2

С какой версии GridGain вы обновление до 6.2.1? Скорее всего, эта ошибка вызвана обменом памятью между узлами на одном хосте. Его можно устранить, увеличив ограничение открытых файлов в операционной системе или отключив разделяемую память. Можете ли вы проверить, воспроизводится ли ваше исключение без общей памяти? Для того, чтобы выключить его настроить связи SPI, как это:

<property name="communicationSpi"> 
    <bean class="org.gridgain.grid.spi.communication.tcp.GridTcpCommunicationSpi"> 
     <property name="sharedMemoryPort" value="-1"/> 
    </bean> 
</property> 
+0

Мы обновляемся с 6.1.6. Отключение общей памяти, как вы предложили работать. Благодаря! Есть ли недостатки в этом решении (мы используем gridgain в основном для распределения заданий сетки через кластер, т. Е. Интенсивная работа процессора)? –

+0

Кроме того, я заметил, что настройка SPI связи, как вы предлагаете, устраняет следующее предупреждение журнала. Это ожидается, так как мы отключили разделяемую память. Тем не менее, это рекомендуемая конфигурация? Я прочитал ссылку на http://doc.gridgain.org/latest/GridTcpCommunicationSpi. Спасибо '[2014-09-11 11: 02: 49,578] WARN GridTcpCommunicationSpi - Не удалось запустить сервер обмена общей памятью. [] ' –

0

Похоже, что вопрос является дубликатом Tomcat startup fails due to 'java.net.SocketException Invalid argument' on Mac OS X. Насколько я понимаю, решение заключается в обновлении JDK до 7u60 или выше, по крайней мере, это работает для нас. (Наши эксперименты показали, что на MacOs даже значительное увеличение предела открытых файлов не решает проблему.)

Смежные вопросы