You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@river.apache.org by Sergio Aguilera Cazorla <sa...@gmail.com> on 2011/09/22 16:57:20 UTC
Reggie's visibility in discovery process
Hello,
I am a telecommunication enginnering student and I'm working on my final
degree thesis using Apache River technology. My goal is to integrate the
distributed capabilities that River offers with a previously developed
software written in the Java programming language.
I've been working for some months using reggie as the Lookup Server. I've
always tried my programs using a single machine. I've been careful in the
sense that I've executed client, server and reggie in different locations,
different JVM's, etc. However, problems arise when we try the software
developed so far in 3 different machines: we are unable to get a response
from reggie. We are executing reggie with the default configuration provided
with the "hello" example.
As everything works fine in a single machine with the proper cautions to
simulate a distributed system, we suspect that the problem is related to
network configuration, firewalls and switches. We perform multicast
discovery in order to contact reggie (yes, unicast discovery may work, but
the software we are developing would be pointless if we needed a specific
server URL).
May there be some problems with multicast packets? Could someone post a list
of possible reasons that could make the visibility of reggie crash if it
works fine in a single machine?
Next days we'll perform some more testing and hopefully I'll be able to
provide you with more data.
Thanks in advance,
--
*Sergio Aguilera*
Re: Reggie's visibility in discovery process
Posted by Zsolt Kúti <la...@gmail.com>.
Hi,
LookupDiscovery uses multicast, so your suspect looks the likely source of
the problem. Check the network setup between/within machines.
Zsolt
On Thu, Sep 22, 2011 at 5:30 PM, Sergio Aguilera Cazorla
<sa...@gmail.com>wrote:
> Hello,
>
> The only specific data that I can provide at this moment is the piece of
> code that is used to perform discovery from the server-side:
>
> DiscoveryManagement dlm = new LookupDiscovery(LookupDiscovery.ALL_GROUPS);
>
> ServiceItem item = new ServiceItem(//...doesn't matter);
>
> try {
> Thread.sleep(2000); //To give time to the Lookup Server to
> respond
> } catch (InterruptedException e) { e.printStackTrace(); }
>
> ServiceRegistrar[] srList = dlm.getRegistrars();
>
> //perform the registration with the found Lookups
>
>
> I relied in this code from the first day, and I constructed my software
> making for sure that it worked. Problems only appear when I move the Lookup
> execution to a different machine than the one that is executing the server.
>
> More details: we are in a production environment (a company's LAN), so
> maybe
> we are missing some special security configurations that we are not used to
> (some multicast packet filtering maybe?). Also, if I increase the waiting
> time you can see in the code from 2 seconds to 10, 20, 30... it still
> doesn't work.
>
> I have a list of tests to perform tomorrow, if I can meet with 2 mates to
> use the 3-machine configuration (server-lookup-client). I'll post here our
> conclusions, if we reach some, but in the meanwhile if you have any idea of
> the source of the problem, it may help us in tomorrow's test.
>
> Regards,
>
> --
> *Sergio Aguilera*
>
Re: Reggie's visibility in discovery process
Posted by Gregg Wonderly <ge...@cox.net>.
Can you turn off your windows firewall to do a test? It seems like I've had
problems with multicast working in the past with windows firewalls, but it may
have just been a server running on windows with a client somewhere else not
being able to get to the service port until I allow application access (you know
the popup that usually occurs when you install a new version of Java on windows
and run a network application for the first time). I've used a lot of unicast
to solve those issues, but there are times when multicast is the only real
solution for lookup.
Gregg Wonderly
On 10/5/2011 3:58 AM, Sergio Aguilera Cazorla wrote:
> Hello,
>
> No, we are not using VLAN, all the computers in the office belong to the
> same LAN.
>
> Regards.
>
> 2011/10/5 richard nicholson<ri...@paremus.com>
>
>> Sergio
>>
>> As you using layer II VLAN's between your physical switches? If so - make
>> sure your network
>> folks have IGMP turned on - on the switch interlinks.
>>
>> Cheers
>>
>> Richard
>>
>>
>> On 5 Oct 2011, at 09:38, Sergio Aguilera Cazorla wrote:
>>
>>> Hello,
>>>
>>> Our network administrators say that *our company's switches do not block
>>> multicast or broadcast traffic*. To check if this it's true, we've
>> forgotten
>>> about Reggie and we've written a little Java program that simply uses a
>>> MulticastSocket to send packets to the multicast IP *224.0.1.84 and
>>> attacking the port 4160*. Of course, this program failed in the network
>>> office, while it worked perfectly on my home's network.
>>>
>>> We are completely sure that it's a problem related to multicast packets.
>>> Maybe it's related to Windows XP or 7 Firewall? In the company there is a
>>> Group Policy commanding the Firewall, but we can define some exceptions
>> and
>>> we have the multicast/broadcast response enabled. Is that enough, or is
>>> there some other issue that remains hidden?
>>>
>>> Please, any hint is welcome, because our goal is to deploy this software
>> in
>>> a production environment, not only in a domestic network!
>>>
>>> Thanks and regards
>>>
>>>
>>>
>>> 2011/9/29 Christopher Dolan<ch...@avid.com>
>>>
>>>> Yes, most enterprise switches block multicast by default. That's
>> probably
>>>> your issue.
>>>>
>>>> Another possible issue is reverse DNS. If reggie is broadcasting a
>> private
>>>> hostname or IP address for other machines to call back to it, then it's
>> not
>>>> going to work. We've also had issues with dual-NIC servers where clients
>>>> always try to connect to the primary NIC (as specified in the Windows
>>>> interface binding order) and do not fail over to the secondary NIC. The
>>>> usual cause of that problem is passing a null host to
>>>> TcpServerEndpoint.getInstance() because in that code path, JERI just
>> picks
>>>> the first IP address from a reverse DNS lookup. The solution in that
>> case is
>>>> to instead pass the results of
>>>> InetAddress.getLocalHost().getCanonicalHostName() as the hostname, or
>>>> hard-code the public host name.
>>>>
>>>> I'm suspicious of your "just once" result. Maybe you changed the group
>>>> name? Remember that the group is case-sensitive.
>>>> Chris
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Sergio Aguilera Cazorla [mailto:sagucaz@gmail.com]
>>>> Sent: Thursday, September 29, 2011 1:16 PM
>>>> To: user@river.apache.org
>>>> Subject: Re: Reggie's visibility in discovery process
>>>>
>>>> Hello,
>>>>
>>>> At last we could perform some testing on Reggie's discovery using
>> multicast
>>>> protocol. I can provide the following results:
>>>>
>>>> - The program performs perfectly when we make a Unicast discovery,
>>>> attacking
>>>> directly the URL where the Lookup service is located.
>>>>
>>>> - We can ping the two machines. Even, we can acces the folder server by
>> the
>>>> HTTP server, and get the reggie-dl.jar classfiles needed to communicate
>>>> with
>>>> the Lookup.
>>>>
>>>> - All machines in the office are Windows XP SP3 and Windows 7. None of
>> the
>>>> combinations server/client XP-7 has thrown a good result.
>>>>
>>>> - We are communicating through switches in the LAN of a enterprise. Do
>> you
>>>> think that multicast packets are bein blocked by intermediate nodes?
>>>>
>>>> - The most misteryous fact: we could perform multicast discovery
>>>> succesfully
>>>> *just once*, the first time we tried. That's suspicious, is there some
>>>> class
>>>> or service that remains hidden and doesn't allow you to perform
>> multicast
>>>> discovery more than once?
>>>>
>>>> Any help on reggie's weird behaviour is very welcome. If I can solve
>> this
>>>> problem, no doubt I will write a short explanation for the community,
>>>> because I think it has to be a very common problem.
>>>>
>>>> Regards.
>>>>
>>>>
>>>>
>>>> 2011/9/22 Иван Бишевац<iv...@gmail.com>
>>>>
>>>>> 1. Could you ping two machines?
>>>>> 2. Which operating system you use?
>>>>> 3. Are you communicating through router?
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> *Sergio Aguilera*
>>
>>
>
>
Re: Reggie's visibility in discovery process
Posted by Sergio Aguilera Cazorla <sa...@gmail.com>.
Hello,
Sorry about the inconvenience, but another network administrator has told me
that, indeed, some of our intermediate switches are configured to
selectively filter multicast traffic to avoid overloading. So, it seems that
this was the root of our problem.
That would explain why using Unicast it always works, and using Multicast it
only works "sometimes" (maybe depending on traffic load and the filtering
policy stablished in the devices, which was not created by the guy to whom
I've been talking to).
Thank you very much for all your replies. I've learned a lot about Reggie's
behaviour in the last few days, so I'm open to solve issues related to the
one that I've faced, as long as I could.
Regards.
2011/10/5 Sergio Aguilera Cazorla <sa...@gmail.com>
> Hello,
>
> No, we are not using VLAN, all the computers in the office belong to the
> same LAN.
>
> Regards.
>
>
> 2011/10/5 richard nicholson <ri...@paremus.com>
>
>> Sergio
>>
>> As you using layer II VLAN's between your physical switches? If so - make
>> sure your network
>> folks have IGMP turned on - on the switch interlinks.
>>
>> Cheers
>>
>> Richard
>>
>>
>> On 5 Oct 2011, at 09:38, Sergio Aguilera Cazorla wrote:
>>
>> > Hello,
>> >
>> > Our network administrators say that *our company's switches do not block
>> > multicast or broadcast traffic*. To check if this it's true, we've
>> forgotten
>> > about Reggie and we've written a little Java program that simply uses a
>> > MulticastSocket to send packets to the multicast IP *224.0.1.84 and
>> > attacking the port 4160*. Of course, this program failed in the network
>> > office, while it worked perfectly on my home's network.
>> >
>> > We are completely sure that it's a problem related to multicast packets.
>> > Maybe it's related to Windows XP or 7 Firewall? In the company there is
>> a
>> > Group Policy commanding the Firewall, but we can define some exceptions
>> and
>> > we have the multicast/broadcast response enabled. Is that enough, or is
>> > there some other issue that remains hidden?
>> >
>> > Please, any hint is welcome, because our goal is to deploy this software
>> in
>> > a production environment, not only in a domestic network!
>> >
>> > Thanks and regards
>> >
>> >
>> >
>> > 2011/9/29 Christopher Dolan <ch...@avid.com>
>> >
>> >> Yes, most enterprise switches block multicast by default. That's
>> probably
>> >> your issue.
>> >>
>> >> Another possible issue is reverse DNS. If reggie is broadcasting a
>> private
>> >> hostname or IP address for other machines to call back to it, then it's
>> not
>> >> going to work. We've also had issues with dual-NIC servers where
>> clients
>> >> always try to connect to the primary NIC (as specified in the Windows
>> >> interface binding order) and do not fail over to the secondary NIC. The
>> >> usual cause of that problem is passing a null host to
>> >> TcpServerEndpoint.getInstance() because in that code path, JERI just
>> picks
>> >> the first IP address from a reverse DNS lookup. The solution in that
>> case is
>> >> to instead pass the results of
>> >> InetAddress.getLocalHost().getCanonicalHostName() as the hostname, or
>> >> hard-code the public host name.
>> >>
>> >> I'm suspicious of your "just once" result. Maybe you changed the group
>> >> name? Remember that the group is case-sensitive.
>> >> Chris
>> >>
>> >>
>> >> -----Original Message-----
>> >> From: Sergio Aguilera Cazorla [mailto:sagucaz@gmail.com]
>> >> Sent: Thursday, September 29, 2011 1:16 PM
>> >> To: user@river.apache.org
>> >> Subject: Re: Reggie's visibility in discovery process
>> >>
>> >> Hello,
>> >>
>> >> At last we could perform some testing on Reggie's discovery using
>> multicast
>> >> protocol. I can provide the following results:
>> >>
>> >> - The program performs perfectly when we make a Unicast discovery,
>> >> attacking
>> >> directly the URL where the Lookup service is located.
>> >>
>> >> - We can ping the two machines. Even, we can acces the folder server by
>> the
>> >> HTTP server, and get the reggie-dl.jar classfiles needed to communicate
>> >> with
>> >> the Lookup.
>> >>
>> >> - All machines in the office are Windows XP SP3 and Windows 7. None of
>> the
>> >> combinations server/client XP-7 has thrown a good result.
>> >>
>> >> - We are communicating through switches in the LAN of a enterprise. Do
>> you
>> >> think that multicast packets are bein blocked by intermediate nodes?
>> >>
>> >> - The most misteryous fact: we could perform multicast discovery
>> >> succesfully
>> >> *just once*, the first time we tried. That's suspicious, is there some
>> >> class
>> >> or service that remains hidden and doesn't allow you to perform
>> multicast
>> >> discovery more than once?
>> >>
>> >> Any help on reggie's weird behaviour is very welcome. If I can solve
>> this
>> >> problem, no doubt I will write a short explanation for the community,
>> >> because I think it has to be a very common problem.
>> >>
>> >> Regards.
>> >>
>> >>
>> >>
>> >> 2011/9/22 Иван Бишевац <iv...@gmail.com>
>> >>
>> >>> 1. Could you ping two machines?
>> >>> 2. Which operating system you use?
>> >>> 3. Are you communicating through router?
>> >>>
>> >>>
>> >>
>> >
>> >
>> >
>> > --
>> > *Sergio Aguilera*
>>
>>
>
>
> --
> *Sergio Aguilera*
>
--
*Sergio Aguilera*
Re: Reggie's visibility in discovery process
Posted by Sergio Aguilera Cazorla <sa...@gmail.com>.
Hello,
No, we are not using VLAN, all the computers in the office belong to the
same LAN.
Regards.
2011/10/5 richard nicholson <ri...@paremus.com>
> Sergio
>
> As you using layer II VLAN's between your physical switches? If so - make
> sure your network
> folks have IGMP turned on - on the switch interlinks.
>
> Cheers
>
> Richard
>
>
> On 5 Oct 2011, at 09:38, Sergio Aguilera Cazorla wrote:
>
> > Hello,
> >
> > Our network administrators say that *our company's switches do not block
> > multicast or broadcast traffic*. To check if this it's true, we've
> forgotten
> > about Reggie and we've written a little Java program that simply uses a
> > MulticastSocket to send packets to the multicast IP *224.0.1.84 and
> > attacking the port 4160*. Of course, this program failed in the network
> > office, while it worked perfectly on my home's network.
> >
> > We are completely sure that it's a problem related to multicast packets.
> > Maybe it's related to Windows XP or 7 Firewall? In the company there is a
> > Group Policy commanding the Firewall, but we can define some exceptions
> and
> > we have the multicast/broadcast response enabled. Is that enough, or is
> > there some other issue that remains hidden?
> >
> > Please, any hint is welcome, because our goal is to deploy this software
> in
> > a production environment, not only in a domestic network!
> >
> > Thanks and regards
> >
> >
> >
> > 2011/9/29 Christopher Dolan <ch...@avid.com>
> >
> >> Yes, most enterprise switches block multicast by default. That's
> probably
> >> your issue.
> >>
> >> Another possible issue is reverse DNS. If reggie is broadcasting a
> private
> >> hostname or IP address for other machines to call back to it, then it's
> not
> >> going to work. We've also had issues with dual-NIC servers where clients
> >> always try to connect to the primary NIC (as specified in the Windows
> >> interface binding order) and do not fail over to the secondary NIC. The
> >> usual cause of that problem is passing a null host to
> >> TcpServerEndpoint.getInstance() because in that code path, JERI just
> picks
> >> the first IP address from a reverse DNS lookup. The solution in that
> case is
> >> to instead pass the results of
> >> InetAddress.getLocalHost().getCanonicalHostName() as the hostname, or
> >> hard-code the public host name.
> >>
> >> I'm suspicious of your "just once" result. Maybe you changed the group
> >> name? Remember that the group is case-sensitive.
> >> Chris
> >>
> >>
> >> -----Original Message-----
> >> From: Sergio Aguilera Cazorla [mailto:sagucaz@gmail.com]
> >> Sent: Thursday, September 29, 2011 1:16 PM
> >> To: user@river.apache.org
> >> Subject: Re: Reggie's visibility in discovery process
> >>
> >> Hello,
> >>
> >> At last we could perform some testing on Reggie's discovery using
> multicast
> >> protocol. I can provide the following results:
> >>
> >> - The program performs perfectly when we make a Unicast discovery,
> >> attacking
> >> directly the URL where the Lookup service is located.
> >>
> >> - We can ping the two machines. Even, we can acces the folder server by
> the
> >> HTTP server, and get the reggie-dl.jar classfiles needed to communicate
> >> with
> >> the Lookup.
> >>
> >> - All machines in the office are Windows XP SP3 and Windows 7. None of
> the
> >> combinations server/client XP-7 has thrown a good result.
> >>
> >> - We are communicating through switches in the LAN of a enterprise. Do
> you
> >> think that multicast packets are bein blocked by intermediate nodes?
> >>
> >> - The most misteryous fact: we could perform multicast discovery
> >> succesfully
> >> *just once*, the first time we tried. That's suspicious, is there some
> >> class
> >> or service that remains hidden and doesn't allow you to perform
> multicast
> >> discovery more than once?
> >>
> >> Any help on reggie's weird behaviour is very welcome. If I can solve
> this
> >> problem, no doubt I will write a short explanation for the community,
> >> because I think it has to be a very common problem.
> >>
> >> Regards.
> >>
> >>
> >>
> >> 2011/9/22 Иван Бишевац <iv...@gmail.com>
> >>
> >>> 1. Could you ping two machines?
> >>> 2. Which operating system you use?
> >>> 3. Are you communicating through router?
> >>>
> >>>
> >>
> >
> >
> >
> > --
> > *Sergio Aguilera*
>
>
--
*Sergio Aguilera*
Re: Reggie's visibility in discovery process
Posted by richard nicholson <ri...@paremus.com>.
Sergio
As you using layer II VLAN's between your physical switches? If so - make sure your network
folks have IGMP turned on - on the switch interlinks.
Cheers
Richard
On 5 Oct 2011, at 09:38, Sergio Aguilera Cazorla wrote:
> Hello,
>
> Our network administrators say that *our company's switches do not block
> multicast or broadcast traffic*. To check if this it's true, we've forgotten
> about Reggie and we've written a little Java program that simply uses a
> MulticastSocket to send packets to the multicast IP *224.0.1.84 and
> attacking the port 4160*. Of course, this program failed in the network
> office, while it worked perfectly on my home's network.
>
> We are completely sure that it's a problem related to multicast packets.
> Maybe it's related to Windows XP or 7 Firewall? In the company there is a
> Group Policy commanding the Firewall, but we can define some exceptions and
> we have the multicast/broadcast response enabled. Is that enough, or is
> there some other issue that remains hidden?
>
> Please, any hint is welcome, because our goal is to deploy this software in
> a production environment, not only in a domestic network!
>
> Thanks and regards
>
>
>
> 2011/9/29 Christopher Dolan <ch...@avid.com>
>
>> Yes, most enterprise switches block multicast by default. That's probably
>> your issue.
>>
>> Another possible issue is reverse DNS. If reggie is broadcasting a private
>> hostname or IP address for other machines to call back to it, then it's not
>> going to work. We've also had issues with dual-NIC servers where clients
>> always try to connect to the primary NIC (as specified in the Windows
>> interface binding order) and do not fail over to the secondary NIC. The
>> usual cause of that problem is passing a null host to
>> TcpServerEndpoint.getInstance() because in that code path, JERI just picks
>> the first IP address from a reverse DNS lookup. The solution in that case is
>> to instead pass the results of
>> InetAddress.getLocalHost().getCanonicalHostName() as the hostname, or
>> hard-code the public host name.
>>
>> I'm suspicious of your "just once" result. Maybe you changed the group
>> name? Remember that the group is case-sensitive.
>> Chris
>>
>>
>> -----Original Message-----
>> From: Sergio Aguilera Cazorla [mailto:sagucaz@gmail.com]
>> Sent: Thursday, September 29, 2011 1:16 PM
>> To: user@river.apache.org
>> Subject: Re: Reggie's visibility in discovery process
>>
>> Hello,
>>
>> At last we could perform some testing on Reggie's discovery using multicast
>> protocol. I can provide the following results:
>>
>> - The program performs perfectly when we make a Unicast discovery,
>> attacking
>> directly the URL where the Lookup service is located.
>>
>> - We can ping the two machines. Even, we can acces the folder server by the
>> HTTP server, and get the reggie-dl.jar classfiles needed to communicate
>> with
>> the Lookup.
>>
>> - All machines in the office are Windows XP SP3 and Windows 7. None of the
>> combinations server/client XP-7 has thrown a good result.
>>
>> - We are communicating through switches in the LAN of a enterprise. Do you
>> think that multicast packets are bein blocked by intermediate nodes?
>>
>> - The most misteryous fact: we could perform multicast discovery
>> succesfully
>> *just once*, the first time we tried. That's suspicious, is there some
>> class
>> or service that remains hidden and doesn't allow you to perform multicast
>> discovery more than once?
>>
>> Any help on reggie's weird behaviour is very welcome. If I can solve this
>> problem, no doubt I will write a short explanation for the community,
>> because I think it has to be a very common problem.
>>
>> Regards.
>>
>>
>>
>> 2011/9/22 Иван Бишевац <iv...@gmail.com>
>>
>>> 1. Could you ping two machines?
>>> 2. Which operating system you use?
>>> 3. Are you communicating through router?
>>>
>>>
>>
>
>
>
> --
> *Sergio Aguilera*
Re: Reggie's visibility in discovery process
Posted by Sergio Aguilera Cazorla <sa...@gmail.com>.
Hello,
Our network administrators say that *our company's switches do not block
multicast or broadcast traffic*. To check if this it's true, we've forgotten
about Reggie and we've written a little Java program that simply uses a
MulticastSocket to send packets to the multicast IP *224.0.1.84 and
attacking the port 4160*. Of course, this program failed in the network
office, while it worked perfectly on my home's network.
We are completely sure that it's a problem related to multicast packets.
Maybe it's related to Windows XP or 7 Firewall? In the company there is a
Group Policy commanding the Firewall, but we can define some exceptions and
we have the multicast/broadcast response enabled. Is that enough, or is
there some other issue that remains hidden?
Please, any hint is welcome, because our goal is to deploy this software in
a production environment, not only in a domestic network!
Thanks and regards
2011/9/29 Christopher Dolan <ch...@avid.com>
> Yes, most enterprise switches block multicast by default. That's probably
> your issue.
>
> Another possible issue is reverse DNS. If reggie is broadcasting a private
> hostname or IP address for other machines to call back to it, then it's not
> going to work. We've also had issues with dual-NIC servers where clients
> always try to connect to the primary NIC (as specified in the Windows
> interface binding order) and do not fail over to the secondary NIC. The
> usual cause of that problem is passing a null host to
> TcpServerEndpoint.getInstance() because in that code path, JERI just picks
> the first IP address from a reverse DNS lookup. The solution in that case is
> to instead pass the results of
> InetAddress.getLocalHost().getCanonicalHostName() as the hostname, or
> hard-code the public host name.
>
> I'm suspicious of your "just once" result. Maybe you changed the group
> name? Remember that the group is case-sensitive.
> Chris
>
>
> -----Original Message-----
> From: Sergio Aguilera Cazorla [mailto:sagucaz@gmail.com]
> Sent: Thursday, September 29, 2011 1:16 PM
> To: user@river.apache.org
> Subject: Re: Reggie's visibility in discovery process
>
> Hello,
>
> At last we could perform some testing on Reggie's discovery using multicast
> protocol. I can provide the following results:
>
> - The program performs perfectly when we make a Unicast discovery,
> attacking
> directly the URL where the Lookup service is located.
>
> - We can ping the two machines. Even, we can acces the folder server by the
> HTTP server, and get the reggie-dl.jar classfiles needed to communicate
> with
> the Lookup.
>
> - All machines in the office are Windows XP SP3 and Windows 7. None of the
> combinations server/client XP-7 has thrown a good result.
>
> - We are communicating through switches in the LAN of a enterprise. Do you
> think that multicast packets are bein blocked by intermediate nodes?
>
> - The most misteryous fact: we could perform multicast discovery
> succesfully
> *just once*, the first time we tried. That's suspicious, is there some
> class
> or service that remains hidden and doesn't allow you to perform multicast
> discovery more than once?
>
> Any help on reggie's weird behaviour is very welcome. If I can solve this
> problem, no doubt I will write a short explanation for the community,
> because I think it has to be a very common problem.
>
> Regards.
>
>
>
> 2011/9/22 Иван Бишевац <iv...@gmail.com>
>
> > 1. Could you ping two machines?
> > 2. Which operating system you use?
> > 3. Are you communicating through router?
> >
> >
>
--
*Sergio Aguilera*
RE: Reggie's visibility in discovery process
Posted by Christopher Dolan <ch...@avid.com>.
Yes, most enterprise switches block multicast by default. That's probably your issue.
Another possible issue is reverse DNS. If reggie is broadcasting a private hostname or IP address for other machines to call back to it, then it's not going to work. We've also had issues with dual-NIC servers where clients always try to connect to the primary NIC (as specified in the Windows interface binding order) and do not fail over to the secondary NIC. The usual cause of that problem is passing a null host to TcpServerEndpoint.getInstance() because in that code path, JERI just picks the first IP address from a reverse DNS lookup. The solution in that case is to instead pass the results of InetAddress.getLocalHost().getCanonicalHostName() as the hostname, or hard-code the public host name.
I'm suspicious of your "just once" result. Maybe you changed the group name? Remember that the group is case-sensitive.
Chris
-----Original Message-----
From: Sergio Aguilera Cazorla [mailto:sagucaz@gmail.com]
Sent: Thursday, September 29, 2011 1:16 PM
To: user@river.apache.org
Subject: Re: Reggie's visibility in discovery process
Hello,
At last we could perform some testing on Reggie's discovery using multicast
protocol. I can provide the following results:
- The program performs perfectly when we make a Unicast discovery, attacking
directly the URL where the Lookup service is located.
- We can ping the two machines. Even, we can acces the folder server by the
HTTP server, and get the reggie-dl.jar classfiles needed to communicate with
the Lookup.
- All machines in the office are Windows XP SP3 and Windows 7. None of the
combinations server/client XP-7 has thrown a good result.
- We are communicating through switches in the LAN of a enterprise. Do you
think that multicast packets are bein blocked by intermediate nodes?
- The most misteryous fact: we could perform multicast discovery succesfully
*just once*, the first time we tried. That's suspicious, is there some class
or service that remains hidden and doesn't allow you to perform multicast
discovery more than once?
Any help on reggie's weird behaviour is very welcome. If I can solve this
problem, no doubt I will write a short explanation for the community,
because I think it has to be a very common problem.
Regards.
2011/9/22 Иван Бишевац <iv...@gmail.com>
> 1. Could you ping two machines?
> 2. Which operating system you use?
> 3. Are you communicating through router?
>
>
Re: Reggie's visibility in discovery process
Posted by Sergio Aguilera Cazorla <sa...@gmail.com>.
Hello,
At last we could perform some testing on Reggie's discovery using multicast
protocol. I can provide the following results:
- The program performs perfectly when we make a Unicast discovery, attacking
directly the URL where the Lookup service is located.
- We can ping the two machines. Even, we can acces the folder server by the
HTTP server, and get the reggie-dl.jar classfiles needed to communicate with
the Lookup.
- All machines in the office are Windows XP SP3 and Windows 7. None of the
combinations server/client XP-7 has thrown a good result.
- We are communicating through switches in the LAN of a enterprise. Do you
think that multicast packets are bein blocked by intermediate nodes?
- The most misteryous fact: we could perform multicast discovery succesfully
*just once*, the first time we tried. That's suspicious, is there some class
or service that remains hidden and doesn't allow you to perform multicast
discovery more than once?
Any help on reggie's weird behaviour is very welcome. If I can solve this
problem, no doubt I will write a short explanation for the community,
because I think it has to be a very common problem.
Regards.
2011/9/22 Иван Бишевац <iv...@gmail.com>
> 1. Could you ping two machines?
> 2. Which operating system you use?
> 3. Are you communicating through router?
>
>
Re: Reggie's visibility in discovery process
Posted by Иван Бишевац <iv...@gmail.com>.
1. Could you ping two machines?
2. Which operating system you use?
3. Are you communicating through router?
2011/9/22 Sergio Aguilera Cazorla <sa...@gmail.com>
> Hello,
>
> The only specific data that I can provide at this moment is the piece of
> code that is used to perform discovery from the server-side:
>
> DiscoveryManagement dlm = new LookupDiscovery(LookupDiscovery.ALL_GROUPS);
>
> ServiceItem item = new ServiceItem(//...doesn't matter);
>
> try {
> Thread.sleep(2000); //To give time to the Lookup Server to
> respond
> } catch (InterruptedException e) { e.printStackTrace(); }
>
> ServiceRegistrar[] srList = dlm.getRegistrars();
>
> //perform the registration with the found Lookups
>
>
> I relied in this code from the first day, and I constructed my software
> making for sure that it worked. Problems only appear when I move the Lookup
> execution to a different machine than the one that is executing the server.
>
> More details: we are in a production environment (a company's LAN), so
> maybe
> we are missing some special security configurations that we are not used to
> (some multicast packet filtering maybe?). Also, if I increase the waiting
> time you can see in the code from 2 seconds to 10, 20, 30... it still
> doesn't work.
>
> I have a list of tests to perform tomorrow, if I can meet with 2 mates to
> use the 3-machine configuration (server-lookup-client). I'll post here our
> conclusions, if we reach some, but in the meanwhile if you have any idea of
> the source of the problem, it may help us in tomorrow's test.
>
> Regards,
>
> --
> *Sergio Aguilera*
>
Re: Reggie's visibility in discovery process
Posted by Sergio Aguilera Cazorla <sa...@gmail.com>.
Hello,
The only specific data that I can provide at this moment is the piece of
code that is used to perform discovery from the server-side:
DiscoveryManagement dlm = new LookupDiscovery(LookupDiscovery.ALL_GROUPS);
ServiceItem item = new ServiceItem(//...doesn't matter);
try {
Thread.sleep(2000); //To give time to the Lookup Server to
respond
} catch (InterruptedException e) { e.printStackTrace(); }
ServiceRegistrar[] srList = dlm.getRegistrars();
//perform the registration with the found Lookups
I relied in this code from the first day, and I constructed my software
making for sure that it worked. Problems only appear when I move the Lookup
execution to a different machine than the one that is executing the server.
More details: we are in a production environment (a company's LAN), so maybe
we are missing some special security configurations that we are not used to
(some multicast packet filtering maybe?). Also, if I increase the waiting
time you can see in the code from 2 seconds to 10, 20, 30... it still
doesn't work.
I have a list of tests to perform tomorrow, if I can meet with 2 mates to
use the 3-machine configuration (server-lookup-client). I'll post here our
conclusions, if we reach some, but in the meanwhile if you have any idea of
the source of the problem, it may help us in tomorrow's test.
Regards,
--
*Sergio Aguilera*
Re: Reggie's visibility in discovery process
Posted by Иван Бишевац <iv...@gmail.com>.
Try to give more details. I also have such problems, maybe could help you.
2011/9/22 Sergio Aguilera Cazorla <sa...@gmail.com>
> Hello,
>
> I am a telecommunication enginnering student and I'm working on my final
> degree thesis using Apache River technology. My goal is to integrate the
> distributed capabilities that River offers with a previously developed
> software written in the Java programming language.
>
> I've been working for some months using reggie as the Lookup Server. I've
> always tried my programs using a single machine. I've been careful in the
> sense that I've executed client, server and reggie in different locations,
> different JVM's, etc. However, problems arise when we try the software
> developed so far in 3 different machines: we are unable to get a response
> from reggie. We are executing reggie with the default configuration
> provided
> with the "hello" example.
>
> As everything works fine in a single machine with the proper cautions to
> simulate a distributed system, we suspect that the problem is related to
> network configuration, firewalls and switches. We perform multicast
> discovery in order to contact reggie (yes, unicast discovery may work, but
> the software we are developing would be pointless if we needed a specific
> server URL).
>
> May there be some problems with multicast packets? Could someone post a
> list
> of possible reasons that could make the visibility of reggie crash if it
> works fine in a single machine?
>
> Next days we'll perform some more testing and hopefully I'll be able to
> provide you with more data.
>
> Thanks in advance,
>
> --
> *Sergio Aguilera*
>