users@shoal.java.net

Re: [Shoal-Users] Problems with running Shoal example

From: Shreedhar Ganapathy <Shreedhar.Ganapathy_at_Sun.COM>
Date: Wed, 14 May 2008 09:06:41 -0700

Hi Erik
You are better off specifying a multicast address instead of 127.0.0.1.
Multicast address ranges are 224.0.0.0 through 239.255.255.255.
Look here for more information on that :
http://www.iana.org/assignments/multicast-addresses
http://www.tcpipguide.com/free/t_IPMulticastAddressing.htm

For TCP ports, Shoal specifies a port range internally from 9701 to 9999
in the NetworkManager.java
<https://shoal.dev.java.net/source/browse/shoal/gms/src/java/com/sun/enterprise/jxtamgmt/NetworkManager.java?rev=1.43&view=markup>.
On each member process, one unoccupied port in this range is picked by
the Jxta layer in each member starting with the start port as its listen
port for TCP messages sent through Jxta. This is a Jxta layer function.
If multiple members are on same machine, they would auto pick the next
unoccupied port in this range. If members are on multiple machines, they
would start with the start port 9701.
We are planning to make this range configurable in the near future.

So you have to enable a port range for TCP and the one you use for UDP
(multicast) in your firewall to let these messages through.

Hope this helps.

Thanks
Shreedhar
PS: btw, Firewalls typically block incoming messages to 127.0.0.1 to
prevent attacks that relaunch repeatedly to bring your system to its knees.

Erik Brakkee wrote:
> Hi,
>
>
> I am now initializing GMS as follows:
>
> Properties props = new Properties();
> props.put("LOOPBACK", "true");
> props.put("MULTICASTADDRESS", "127.0.0.1");
> props.put("MULTICASTPORT", "2299");
> return (GroupManagementService)
> GMSFactory.startGMSModule(serverName,
> groupName, GroupManagementService.MemberType.CORE, props);
>
> and I have opened up UDP and TCP port 2299 (should I open TCP or
> UDP?). With this configuration, it still doesn't work and I have to
> shutdown the firewall to get it working.
>
> What am I doing wrong here?
>
> Cheers
> Erik
>
> Shreedhar Ganapathy wrote:
>> I have opened two issues in the issue tracker for tracking this.
>> https://shoal.dev.java.net/issues/show_bug.cgi?id=56
>> https://shoal.dev.java.net/issues/show_bug.cgi?id=57
>>
>> Cheers
>> Shreedhar
>>
>> Shreedhar Ganapathy wrote:
>>> Hi Erik
>>> Yes, you can certainly configure several settings.
>>> I do realize that our documentation on this is sparse.
>>> I will take that as a to do to address. Perhaps we should expose a
>>> JMX MBean that allows users to view through JConsole or a management
>>> UI specifics about Shoal communication through Jxta and the
>>> configuration settings.
>>>
>>> In the least, the multicast address and port can be specified.
>>> Look in the ServiceProviderConfigurationKeys.java
>>> <https://shoal.dev.java.net/source/browse/shoal/gms/src/java/com/sun/enterprise/ee/cms/core/ServiceProviderConfigurationKeys.java?rev=1.7&view=markup>
>>> for all properties that can be set.
>>> The Application Server demo code
>>> <http://b.amiot.free.fr/index.php?entry=entry080114-055255> that is
>>> part of shoal's tests directory shows how these configurations can
>>> be specified.
>>>
>>> Hope this helps while we get these configs better documented.
>>> Cheers
>>> Shreedhar
>>>
>>>
>>> Erik Brakkee wrote:
>>>> Hi Shreedhar,
>>>>
>>>>
>>>> I have had similar problems (on linux) and switching off the
>>>> firewall indeed helped. Nevertheless, I could not easily find the
>>>> minimal settings to allow shoal multicast traffic in the firewall
>>>> and am now running my PC without firewall. What are the minimal
>>>> settings that would work on a single machine (The JXTA manual is a
>>>> maze)? Which UDP/TCP ports should I open? Is there something I can
>>>> configure here in my environment to force specific ports?
>>>>
>>>> Cheers
>>>> Erik
>>>>
>>>> Shreedhar Ganapathy wrote:
>>>>> Hi Farid
>>>>> Thanks for posting here.
>>>>> If a firewall (windows firewall or any other) is running, it may
>>>>> be blocking multicast traffic which is preventing discovery of
>>>>> members. (The view change log shows only one member (self) in each
>>>>> process and not both).
>>>>> If this is the case, can you try turning off the firewall and
>>>>> report back?
>>>>>
>>>>> If there is no firewall running and you still see this problem,
>>>>> check if multicast is enabled on your machine. You can download
>>>>> the resource kit available here
>>>>> <http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en>
>>>>> and use the mcast.exe utility to see if multicast is indeed
>>>>> working on your machine. Although the resource kit is for windows
>>>>> 2003, it should also work for xp.
>>>>>
>>>>> Lastly, check this FAQ entry in GlassFish Wiki :
>>>>> http://wiki.glassfish.java.net/Wiki.jsp?page=FaqTroubleshootReplication
>>>>>
>>>>>
>>>>> hth
>>>>> Shreedhar
>>>>>
>>>>> Farid Gawi wrote:
>>>>>> Hi,
>>>>>> According to 'Shreedhar' request to my post at his blog, here are
>>>>>> the
>>>>>> results:
>>>>>>
>>>>>> My IP config:
>>>>>> -------------
>>>>>> Windows IP Configuration
>>>>>>
>>>>>> Host Name . . . . . . . . . . . . : Ivory-Farid
>>>>>> Primary Dns Suffix . . . . . . . :
>>>>>> Node Type . . . . . . . . . . . . : Unknown
>>>>>> IP Routing Enabled. . . . . . . . : No
>>>>>> WINS Proxy Enabled. . . . . . . . : No
>>>>>>
>>>>>> Ethernet adapter Local Area Connection:
>>>>>>
>>>>>> Connection-specific DNS Suffix . :
>>>>>> Description . . . . . . . . . . . : Intel(R) 82562V-2
>>>>>> 10/100 Network
>>>>>> Con
>>>>>> nection
>>>>>> Physical Address. . . . . . . . . : 00-1A-A0-8E-33-16
>>>>>> Dhcp Enabled. . . . . . . . . . . : No
>>>>>> IP Address. . . . . . . . . . . . : 190.144.45.19
>>>>>> Subnet Mask . . . . . . . . . . . : 255.255.255.0
>>>>>> Default Gateway . . . . . . . . . : 190.144.45.254
>>>>>> DNS Servers . . . . . . . . . . . : 212.117.128.6
>>>>>> 212.117.129.3
>>>>>>
>>>>>> Ethernet adapter scorpion:
>>>>>>
>>>>>> Connection-specific DNS Suffix . :
>>>>>> Description . . . . . . . . . . . : 3Com EtherLink XL
>>>>>> 10/100 PCI TX
>>>>>> NIC
>>>>>> (3C905B-TX)
>>>>>> Physical Address. . . . . . . . . : 00-50-DA-C7-E4-3E
>>>>>> Dhcp Enabled. . . . . . . . . . . : No
>>>>>> IP Address. . . . . . . . . . . . : 21.5.0.12
>>>>>> Subnet Mask . . . . . . . . . . . : 255.255.255.0
>>>>>> Default Gateway . . . . . . . . . :
>>>>>>
>>>>>>
>>>>>>
>>>>>> The output of the 2 run instances (on the same machine):
>>>>>> --------------------------------------------------------
>>>>>> 1)
>>>>>> 12/05/2008 10:49:57 test.Test runSimpleSample
>>>>>> INFO: Starting SimpleGMSSample....
>>>>>> 12/05/2008 10:49:57 test.Test initializeGMS
>>>>>> INFO: Initializing Shoal for member: server1210578597078
>>>>>> group:Group1
>>>>>> 12/05/2008 10:49:57 test.Test registerForGroupEvents
>>>>>> INFO: Registering for group event notifications
>>>>>> 12/05/2008 10:49:57 test.Test joinGMSGroup
>>>>>> INFO: Joining Group Group1
>>>>>> 12/05/2008 10:49:58 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow
>>>>>> getMemberTokens
>>>>>> INFO: GMS View Change Received for group Group1 : Members in view
>>>>>> for
>>>>>> (before change analysis) are :
>>>>>> 1: MemberId: server1210578597078, MemberType: CORE, Address:
>>>>>> urn:jxta:uuid-139AFFFD47F1447FA71888B741B77CB3A1C00FD58917452CA532BF555F0150
>>>>>>
>>>>>> 2703
>>>>>>
>>>>>> 12/05/2008 10:49:58 test.Test sendMessages
>>>>>> INFO: wait 5 secs to send 10 messages
>>>>>> 12/05/2008 10:49:58 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow
>>>>>> newViewObserved
>>>>>> INFO: Analyzing new membership snapshot received as part of event :
>>>>>> MASTER_CHANGE_EVENT
>>>>>> 12/05/2008 10:50:03 test.Test sendMessages
>>>>>> INFO: Sending messages...
>>>>>> 12/05/2008 10:50:03 test.Test waitForShutdown
>>>>>> INFO: wait 20 secs to shutdown
>>>>>> 12/05/2008 10:50:23 test.Test leaveGroupAndShutdown
>>>>>> INFO: Shutting down instance server1210578597078
>>>>>> 12/05/2008 10:50:23
>>>>>> com.sun.enterprise.ee.cms.impl.jxta.GMSContext leave
>>>>>> INFO: Leaving GMS group Group1 with shutdown type set to
>>>>>> InstanceShutdown
>>>>>>
>>>>>> 2)
>>>>>> 12/05/2008 10:49:59 test.Test runSimpleSample
>>>>>> INFO: Starting SimpleGMSSample....
>>>>>> 12/05/2008 10:50:00 test.Test initializeGMS
>>>>>> INFO: Initializing Shoal for member: server1210578600000
>>>>>> group:Group1
>>>>>> 12/05/2008 10:50:00 test.Test registerForGroupEvents
>>>>>> INFO: Registering for group event notifications
>>>>>> 12/05/2008 10:50:00 test.Test joinGMSGroup
>>>>>> INFO: Joining Group Group1
>>>>>> 12/05/2008 10:50:01 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow
>>>>>> getMemberTokens
>>>>>> INFO: GMS View Change Received for group Group1 : Members in view
>>>>>> for
>>>>>> (before change analysis) are :
>>>>>> 1: MemberId: server1210578600000, MemberType: CORE, Address:
>>>>>> urn:jxta:uuid-139AFFFD47F1447FA71888B741B77CB395386C4D928B44489B1697F65DEFBD
>>>>>>
>>>>>> 7D03
>>>>>>
>>>>>> 12/05/2008 10:50:01 com.sun.enterprise.ee.cms.impl.jxta.ViewWindow
>>>>>> newViewObserved
>>>>>> INFO: Analyzing new membership snapshot received as part of event :
>>>>>> MASTER_CHANGE_EVENT
>>>>>> 12/05/2008 10:50:01 test.Test sendMessages
>>>>>> INFO: wait 5 secs to send 10 messages
>>>>>> 12/05/2008 10:50:06 test.Test sendMessages
>>>>>> INFO: Sending messages...
>>>>>> 12/05/2008 10:50:06 test.Test waitForShutdown
>>>>>> INFO: wait 20 secs to shutdown
>>>>>> 12/05/2008 10:50:26 test.Test leaveGroupAndShutdown
>>>>>> INFO: Shutting down instance server1210578600000
>>>>>> 12/05/2008 10:50:26
>>>>>> com.sun.enterprise.ee.cms.impl.jxta.GMSContext leave
>>>>>> INFO: Leaving GMS group Group1 with shutdown type set to
>>>>>> InstanceShutdown
>>>>>>
>>>>>>
>>>>>> My previous post:
>>>>>> -----------------
>>>>>>
>>>>>> Hi,
>>>>>> I'm trying to use Shoal..But I'm missing something in the concept
>>>>>> maybe...
>>>>>> I've used the example attached to this mail (which suggested as
>>>>>> part of
>>>>>> Shreedhar' s Weblog) but it didn't work for me..
>>>>>> I'm running the example under jdk 1.6, by invoking 2 instances of
>>>>>> the main
>>>>>> class..and there is no messages transfer between the 2 instances!
>>>>>> is it ok or something is totally wrong with what i'm doing ?
>>>>>> can you please guide me to make this example run as expected?
>>>>>> How Shaol is related to "Sun GlassFish Enterprise Server", if any?
>>>>>>
>>>>>>
>>>>>> Tnanks in advance.
>>>>>>
>>>>>> Farid Ghawi
>>>>>> ---------------------------
>>>>>> Ivory Software Systems LTD.
>>>>>> Tel: 03-5381-865
>>>>>>
>>>>>> ------------------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>
>>>>>> To unsubscribe, e-mail: users-unsubscribe_at_shoal.dev.java.net
>>>>>> For additional commands, e-mail: users-help_at_shoal.dev.java.net
>>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe_at_shoal.dev.java.net
>>>> For additional commands, e-mail: users-help_at_shoal.dev.java.net
>>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_shoal.dev.java.net
> For additional commands, e-mail: users-help_at_shoal.dev.java.net
>