[ https://forge.continuent.org/jira/browse/HEDERA-42?page=all ]
     
Robert Hodges resolved HEDERA-42:
---------------------------------

    Resolution: Fixed

Implemented NetworkCheck utility with accompanying networkcheck.sh script.   
The utility is documented briefly in the README file checked in as part of this 
implementation. 

Here is an example of the help, which should be more or less self-explanatory:  

************************************************************************
NetworkCheck: 
  A utility to test group communications
Usage:
  java org.continuent.hedera.tools.NetworkCheckLauncher [options]
Options:
  -properties spec  Classpath location of hedera properties
  -channel name     Name of group communications channel
  -members number   Number of processes participating in check
  -messages number  Number of messages to send
  -help             Print help message
************************************************************************

Here is an example of running using a single member, which means you invoke 
NetworkCheck just once.  You can run with multiple members, in which case the 
output appears in the terminal used for each NetworkCheck invocation. 

hartzpass:hedera rhodges$ build/dist/bin/bin/networkcheck.sh -properties 
/hedera_jgroups.properties -members 1
********************************* NETWORK TEST *********************************

********************************** Parameters **********************************
Properties:   /hedera_jgroups.properties
Channel name: test
Members:      1
Messages:     3
Timeout:      120
********************************************************************************

******************************** Initialization ********************************
Able to load properties
2008-06-01 21:22:38,395 INFO  continuent.hedera.factory Using group 
communication factory: 
org.continuent.hedera.factory.JGroupsGroupCommunicationFactory
Able to start communications factory: 
  org.continuent.hedera.factory.JGroupsGroupCommunicationFactory
Able to start channel:
  org.continuent.hedera.channel.JGroupsReliableGroupChannel
Able to start group membership service:
  org.continuent.hedera.gms.JGroupsGroupMembershipService
Started message adapter
Registered for group membership changes
********************************************************************************

******************************* Assembling Group *******************************

-------------------------------------------------------
GMS: address is 127.0.0.1:54378
-------------------------------------------------------
Able to join channel
Waiting for members to join...
Reached quorum of members: 1
********************************************************************************

****************************** Meeting Neighbors *******************************
My member name: Member(address=/127.0.0.1:54378, uid=test)
All member names: 
  Member(address=/127.0.0.1:54378, uid=test)
My neighbor: Member(address=/127.0.0.1:54378, uid=test)
********************************************************************************

************************ Sending and Receiving Messages ************************
Sending message: 
  Message: sender=Member(address=/127.0.0.1:54378, uid=test) text=0
Sending message: 
  Message: sender=Member(address=/127.0.0.1:54378, uid=test) text=1
Sending message: 
  Message: sender=Member(address=/127.0.0.1:54378, uid=test) text=2
Sending DONE message: 
  Message: sender=Member(address=/127.0.0.1:54378, uid=test) text=DONE
Received from message from neighbor: 
  Message: sender=Member(address=/127.0.0.1:54378, uid=test) text=0
Received from message from neighbor: 
  Message: sender=Member(address=/127.0.0.1:54378, uid=test) text=1
Received from message from neighbor: 
  Message: sender=Member(address=/127.0.0.1:54378, uid=test) text=2
Received DONE message: Member(address=/127.0.0.1:54378, uid=test)
Sending and receiving completed...
********************************************************************************

****************************** Cleaning Up Nicely ******************************
Able to quit from the channel
Able to leave the group
********************************************************************************

DONE!  Network check finished successfully!


> Implement a test utility that can be used to check efficiently for properly 
> configured group communications
> -----------------------------------------------------------------------------------------------------------
>
>          Key: HEDERA-42
>          URL: https://forge.continuent.org/jira/browse/HEDERA-42
>      Project: Hedera
>         Type: New Feature

>     Versions: Hedera 2.0
>  Environment: All
>     Reporter: Robert Hodges
>     Assignee: Robert Hodges
>      Fix For: Hedera 2.0

>
>
> We need a simple utility to check group communication configuration and 
> ensure liveness.  Since a lot of other packages used hedera, I would like to 
> suggest implementation of a simple utility called gctest that checks the 
> following: 
> 1.) It is possible to set up a group of 1 or more members. 
> 2.) The group can exchange messages.  
> Here's a suggested behavior.  The invocation would look like the following: 
> gctest -props /hedera.properties -channel test -members 1 -messages 3 
> -timeout 120
> It would work like this.  Gctest would connect to a channel named 'test' and 
> expect to find 1 member.  Once it sees 1 member (in this case joining would 
> result in having a member), gctest would send 3 messages and expect to 
> receive 3 messages from the 'next' member in the group.  In the 1-member case 
> it would be the member itself.  Once this is done, gctest exits.   It 
> terminates and bails out with an error after 120 seconds, which handles the 
> all-to-common case where GC becomes wedged.  
> The values I used are defaults, so if you type 'gctest' it would be the same 
> as explicitly specifying the values.  You can test with 2, 3, 4, etc. members 
> by starting gctest the corresponding number of times on the same or different 
> hosts.  
> Finally, gctest would have nice logging and tell you exactly what it is doing 
> so that you can figure out what is wrong with GC without debugging the 
> program.  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

_______________________________________________
Hedera mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/hedera

Reply via email to