tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Madhav Bhargava <unmarsh...@gmail.com>
Subject Re: Multicast fails when mcastBindAddress is explicitly set
Date Fri, 29 Jun 2012 16:04:07 GMT
Hi All,

Ok we got resolution for the below exception. The problem was that both
IPV4 and IPv6 addresses were enabled for the multihome machine. We switched
to IPv6 addresses and the issue was no longer there. However there is still
one issue:

With machines on different hypervisors the multicast traffic seems to be
blocked. VM's on different Hypervisors are not able to get presence or any
other message from each other. So neither the discovery works nor inter
node communication because there is no knowledge of the other VMs

Best Regard,
Madhav

On Fri, Jun 29, 2012 at 5:58 PM, Madhav Bhargava <unmarshall@gmail.com>wrote:

> Hi All,
>
> We are using Apache Tribes 7.0.2. We use it for node discovery and p2p
> communication.
> We are currently running into a problem where the discovery fails on
> multihomed machines (multiple IP's). We were not sure to which IP the
> multicast bind address was getting bound to, so we thought of explicitly
> binding the interface via "mcastBindAddress" property. However when we set
> this property then we get the following exception:
>
> Exception occured: java.io.IOException: Invalid argument; No faulty
> members identified.org.apache.catalina.tribes.ChannelException:
> java.io.IOException: Invalid argument; No faulty members identified.
>
>         at
> org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:178)
>
>         at
> org.apache.catalina.tribes.group.ChannelCoordinator.start(ChannelCoordinator.java:99)
>
>         at
> org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)
>
>         at
> org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.start(MessageDispatchInterceptor.java:153)
>
>         at
> org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)
>
>         at
> org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:419)
>
>         at
> com.sap.it.gizmos.diag.TribesConfigurator.run(TribesConfigurator.java:109)
>
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>
>         at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>
>         at java.lang.Thread.run(Thread.java:782)
>
> Caused by: java.io.IOException: Invalid argument
>
>         at java.net.PlainDatagramSocketImpl.send(Native Method)
>
>         at java.net.DatagramSocket.send(DatagramSocket.java:675)
>
>         at
> org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:503)
>
>         at
> org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:480)
>
>         at
> org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)
>
>         at
> org.apache.catalina.tribes.membership.McastService.start(McastService.java:386)
>
>         at
> org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:167)
>
>         ... 12 more
>
> So we wrote a simple test program (attached) which fails on multi-home
> machines. We also wrote another test program where we just used simple
> java.net.MulticastSocket, set the multicast interface (using setInterface)
> to one of the interfaces and tried to send a Datagram packet and it was
> able to send.
>
> So now we wonder:
>
> 1. How do you explicitly set the multicast interface on the group channel
> in apache tribes?
> 2. I assume that tcpListenHost is the IP address that gets advertised when
> it joins the group and mcastBindAddress is the interface used to send out
> messages over a multicast socket. Is my assumption right?
>
> Any help/pointers would be greatly appreciated.
>
> Best Regards,
> Madhav
>
>
> --
> When I tell the truth, it is not for the sake of convincing those who do
> not know it, but for the sake of defending those that do
>



-- 
When I tell the truth, it is not for the sake of convincing those who do
not know it, but for the sake of defending those that do

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message