Oracle coherence «Не удается обновить сокеты: …»

#caching #distributed-caching #oracle-coherence

#кэширование #распределенное-кэширование #oracle-coherence

Вопрос:

я запускаю сервер кеширования coherence, и он выдает следующую ошибку после отображения набора элементов и информации о списке участников. И я не уверен, в чем дело. 🙁 Вот исключение, которое я получаю.

 Stopping cluster due to unhandled exception:     com.tangosol.net.messaging.ConnectionException: Unable to refresh sockets:    [InboundUnicastUdpSocket{State=STATE_OPEN, address:port=191.193.1.127:8088}, MulticastUdpSocket{State=STATE_OPEN, address:port=196.194.184.13:50110, InterfaceAddress=175.143.1.127, TimeToLive=12}, TcpSocketAccepter{State=STATE_OPEN, ServerSocket=191.193.1.127:8088}]; last failed socket: MulticastUdpSocket{State=STATE_OPEN, address:port=172.194.144.93:50110, InterfaceAddress=191.193.1.127, TimeToLive=12}
at com.tangosol.coherence.component.net.Cluster$SocketManager.refreshSockets(Cluster.CDB:91)
at com.tangosol.coherence.component.net.Cluster$SocketManager$MulticastUdpSocket.onInterruptedIOException(Cluster.CDB:9)
at com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:33)
at com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:4)
at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:19)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketTimeoutException: Receive timed out
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(Unknown Source)
at java.net.DatagramSocket.receive(Unknown Source)
at com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:20)
at com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:4)
at     com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.o    nNotify(PacketListener.CDB:19)
    at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
    at java.lang.Thread.run(Unknown Source)
 

В чем может быть причина? И мне интересно узнать, существуют ли инструменты, методы, с помощью которых можно было бы исследовать и устранять ошибки согласованности. пожалуйста, поделитесь.

-Заранее спасибо, Роуз

Ответ №1:

Похоже, это либо проблема с настройкой вашей сети / брандмауэра (см. http://download.oracle.com/docs/cd/E15357_01/coh.360/e15723/tune_multigramtest.htm ) или с версией JDK (некоторые ведут себя плохо при данном конкретном использовании сети — один работает нормально — 1.6.0_22).

Что касается общих аспектов устранения неполадок, см.:

Комментарии:

1. Спасибо Yehia за информацию. Мой JDK 1.6.0_26, но я проверил, что код работает нормально на другом компьютере с тем же JDK. Возможно, проблема в настройке брандмауэра — как вы предположили — я расследую. Я также прочитаю отправленные вами ссылки.