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).
Thanks,
Chandra
On Mon, Feb 8, 2010 at 11:43 AM, Shreedhar Ganapathy <
Shreedhar.Ganapathy_at_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_at_shoal.dev.java.net
>> For additional commands, e-mail: dev-help_at_shoal.dev.java.net
>>
>>