dev@shoal.java.net

Re: [Shoal-Dev] Issues with cross subnet functionality

From: Joseph Fialli <Joseph.Fialli_at_Sun.COM>
Date: Tue, 09 Feb 2010 09:46:05 -0500
Chandra Mulpuri wrote:
Hi Shreedhar, Mohamed,

Thanks for your response. The nodes in our system may be deployed across geographic locations, so opening multicast ports will be a challenge.
>>[Shreedhar] ...it currently only takes in a single node as a bootstrapping node.
In my testing, I found that it actually works with 2 or more bootstrapping nodes - if the first boostrapping node is down, events still flow through the remaining nodes. What actually throws an exception is the scenario where you just have one bootstrapping node.

VIRTUAL_MULTICAST_URI_LIST: tcp://10.194.108.24:5200

Exception:Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
        at java.util.ArrayList.get(ArrayList.java:322)
        at com.sun.enterprise.jxtamgmt.NetworkManager.<init>(NetworkManager.java:184)
        at com.sun.enterprise.jxtamgmt.ClusterManager.<init>(ClusterManager.java:138)
        at com.sun.enterprise.ee.cms.impl.jxta.GroupCommunicationProviderImpl.initializeGroupCommunicationProvider(GroupCommunicationProviderImpl.java:154)
        at com.sun.enterprise.ee.cms.impl.jxta.GMSContext.join(GMSContext.java:145)
        at com.sun.enterprise.ee.cms.impl.common.GroupManagementServiceImpl.join(GroupManagementServiceImpl.java:367)
        at ShoalDemo.joinGMSGroup(ShoalDemo.java:106)
        at ShoalDemo.runShoalDemo(ShoalDemo.java:51)
        at ShoalDemo.main(ShoalDemo.java:25)

Root cause:NetworkManager.java :: Line 184.
LOG.config("VIRTUAL_MULTICAST_
URI_LIST=" + virtualMulticastURIList + " rendezvousSeedURIs.get(0)=" + rendezvousSeedURIs.get(1));

This line tries to read  rendezvousSeedURIs.get(1). It should read rendezvousSeedURIs.get(0).
Chandra,

As I mentioned in my response yesterday,  the fix for this was checked in on 12/14/2009.
If you check out the latest trunk version and build it, you will get this fix.

Simply,

% svn checkout https://shoal.dev.java.net/svn/shoal/trunk/gms --username guest    #password is guest
% ant

Jars are in dist/shoal-gms.jar and lib/jxta.jar.

-Joe

Thanks,
Chandra



On Mon, Feb 8, 2010 at 11:43 AM, Shreedhar Ganapathy <Shreedhar.Ganapathy@sun.com> wrote:
Hi Chandra
We'd like to add a note here that we do not plan to officially support non-multicast based virtual multicast support through Shoal at least in the near future due to severe development and testing resource constraints.

The feature exists in an experimental state and has not been widely tested. Hence, although the property name suggests a list, it currently only takes in a single node as a bootstrapping node.

If you are planning to go production with Shoal, we'd recommend staying with multicast based network of nodes (allowing for multicast traffic for specific ports through routers/switches when spanning subnets.

hth
Shreedhar

Mohamed Abdelaziz wrote:
On 2/5/10 11:49 AM, Chandra Mulpuri wrote:
Hi Shoal Developers,

I have been evaluating Shoal for our highly scalable multi-node project here. Shoal seems pretty powerful and has all the functionality that we need. I see some issue in 1.1 though.

1) Exception in NetworkManager.java when VIRTUAL_MULTICAST_URI_LIST has just one IP Address.
This is because of the following trace line in NetworkManager.java
LOG.config("VIRTUAL_MULTICAST_URI_LIST=" + virtualMulticastURIList + " rendezvousSeedURIs.get(0)=" + rendezvousSeedURIs.get(1));
If I pass only one tcp://<IP-address>:port to VIRTUAL_MULTICAST_URI_LIST, rendezvousSeedURIs.get(1) would be null.

2) If the Boot Strapping node is down, new member nodes joining and leaving the group are out of communication. To prevent this single point of failure, can all the nodes be Boot Strapping nodes ? Will there be any performance impact with this configuration ?

Essentially all nodes would multicast to one another, verses limiting it to boot strapping nodes.  For fail purposes, it is recommended that a percentage proportional to the cluster size,  take on that role.

Mohamed


Thanks for your time,
Chandra


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@shoal.dev.java.net
For additional commands, e-mail: dev-help@shoal.dev.java.net