Bugs item #633392, was opened at 2002-11-04 09:57
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=633392&group_id=22866

Category: Clustering
Group: v3.0 Rabbit Hole
Status: Open
Resolution: None
Priority: 5
Submitted By: Simo Arajarvi (simo22)
Assigned to: Sacha Labourey (slaboure)
Summary: HANamingService uses MulticastSockets

Initial Comment:
HANamingService uses MulticastSocket instead of 
JavaGroups methods for automatic discovery. 
This seems to cause discovery mechanism to find HA 
JNDI peers beyond the intended cluster partition. 

See: AutomaticDiscovery -inner class of 
org.jboss.ha.jndi.HANamingService.  

OS: Win2K, Solaris
JDK: 1.4
Server trace: n/a
Reproduce: Start two cluster partitions (pA,pB) within 
same subnet. Both partitions contain a HA-JNDI bound 
object with same name but different implementation. if 
partition pA becomes unavailable, clients using it's 
services will resort to using pB instead of failing as 
expected.

This issue was discovered by Scott Stark and Munir 
Hafez at the Seattle advanced training seminar  (Oct 21-
24, 2002)

----------------------------------------------------------------------

>Comment By: Scott M Stark (starksm)
Date: 2002-11-14 10:59

Message:
Logged In: YES 
user_id=175228

No, the problem Simo showed me was that the cluster node 
would not even start because of this call to 
java.net.MulticastSocket inside of the HANamingService (the 
server side code):

      public AutomaticDiscovery () throws Exception
      {
         socket = new java.net.MulticastSocket (adGroupPort);
         group = InetAddress.getByName (adGroupAddress);
         socket.joinGroup (group);

         String address = getBindAddress();
         if (address == null)
            ipAddress = (java.net.InetAddress.getLocalHost
().getHostAddress() +
":" + port).getBytes();
         else
            ipAddress = (address + ":" + port).getBytes();


         log.info("Listening on " + socket.getInterface() + ":" + 
socket.getLoca
lPort());
      }

Do the test yourself. Disable multicast on your box, configure 
JG to not use multicast and try starting the 
HANamingService.


----------------------------------------------------------------------

Comment By: Sacha Labourey (slaboure)
Date: 2002-11-14 10:41

Message:
Logged In: YES 
user_id=95900

No, the problem is on the client. Remember: the discovery 
features aims to discover at least one server by a *client*. On 
the server, JG is implicitly used because the answer send 
from the server to the client is a clustered proxy (i.e. a proxy 
containing the list of all available servers) and this clustered 
proxy is built from information obtained from JG. 

On the client side, we don't use JG. When no server is 
available, we have only one way to try to discover one: 
through multicast. This is what we do.

The complain is about the client not being able to discover a 
HA-JNDI service for a *given* partition (and only this specific 
partition). Currently, if more than one partition is available on 
a network, an automatic discovery will return a clustered 
proxy for one of the partition (randomly selected) => non-
deterministic!

----------------------------------------------------------------------

Comment By: Scott M Stark (starksm)
Date: 2002-11-13 13:35

Message:
Logged In: YES 
user_id=175228

The problem is not on the client. The problem is with the 
AutomaticDiscovery not using JG to do its discovery on the 
server side. If you configure a cluster to use only TCP 
because you are running in a network that does not have 
multicast enabled, the HA-JNDI service will not start because 
of the AutomaticDiscovery reliance on multicast.

----------------------------------------------------------------------

Comment By: Sacha Labourey (slaboure)
Date: 2002-11-04 10:07

Message:
Logged In: YES 
user_id=95900

The problem is not the fact that JG is not used to discover HA-
JNDI server: we don't want any JG code on the client side.

Instead we will add a new property in jndi.properties to 
specify which partition is looked for. It will also be possible to 
change the multicast address used for discovery.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=633392&group_id=22866


-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing 
your web site with SSL, click here to get a FREE TRIAL of a Thawte 
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to