[jboss-jira] [JBoss JIRA] Commented: (JGRP-340) Major overhaul of GossipRouter

Bela Ban (JIRA) jira-events at lists.jboss.org
Fri Apr 6 13:20:07 EDT 2007


    [ http://jira.jboss.com/jira/browse/JGRP-340?page=comments#action_12358621 ] 
            
Bela Ban commented on JGRP-340:
-------------------------------

[email by ayyagarikiran at gmail.com]


I have added BasicConnectionTable for routing. I have some doubts in
that regard ( please suggest me after reading this at your convenient
time, will continue my dbugging till then)

   1. I think the AddressEntry class is no longer needed due to the use
of BasicConnectionTable

   2. The Gossip requests CONNECT and DISCONNECT are also not needed

   3. For every incoming request the BasicConnectionTable's
readPeerAddress() method is getting called and is expecting a cookie and
the address information
      so I am able to send requests only after writing that information
from the GossipClient.(please see the writeGossipData() method in the
attached GossipClient file)

      Is this way of writing cookie and Address info is correct
(Connection.sendLocalAddress()  didn't help as it is called only as part
of getting a connection)

   4. am able to send and register ( after following the 3rd step ) the
GossipRouter.REGISTER request only if I add a check the network bytes
      available condition in BasicConnectionTable at line no. 588
         if(in.available() > 0) { // read int
      Is this change acceptable?

      Not having that check is resulting in the below exception

     10626 [TRACE] GossipRouter$SocketThread.receive(): -
REGISTER(mygroup, 127.0.0.1:7000)
     10626 [TRACE] BasicConnectionTable$Connection.run(): - exception
is java.io.EOFException
     10626 [TRACE] BasicConnectionTable$Connection.run(): -
ConnectionTable.Connection.Receiver terminated

   5. The ConnectionTable is expecting a non null address for every
incoming request which may not be possible with the Gossip GET request. 

> Major overhaul of GossipRouter
> ------------------------------
>
>                 Key: JGRP-340
>                 URL: http://jira.jboss.com/jira/browse/JGRP-340
>             Project: JGroups
>          Issue Type: Feature Request
>    Affects Versions: 2.4
>            Reporter: Bela Ban
>         Assigned To: Bela Ban
>             Fix For: 2.6
>
>
> Things to be done:
> - Use of Streamable rather than Externalizable
> - Currently we use 1 thread per request rather than a thread pool, e.g. Executor !
> - Better logging and diagnostics (JMX)
> - Use of NIO to prevent the 1 thread/client scalability issue
> - GossipClient and RouterStub should use common, shared code to communicate with the GossipRouter, currently there are exceptions because these 2 classes don't even use the same network format ! Besides, we can refactor redundant code into a common superclass
> - Use of ConnectionTable(NIO) ?
> - Add configuration options for GossipRouter's sockets, e.g. send/receive buffer size, nagling, keep_alive etc
> - Support of UDP

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

        



More information about the jboss-jira mailing list