hama-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tommaso Teofili (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HAMA-482) LocalBSPRunner cannot deliver multiple messages to the same peer
Date Tue, 29 Nov 2011 20:21:44 GMT
LocalBSPRunner cannot deliver multiple messages to the same peer 
-----------------------------------------------------------------

                 Key: HAMA-482
                 URL: https://issues.apache.org/jira/browse/HAMA-482
             Project: Hama
          Issue Type: Bug
            Reporter: Tommaso Teofili
            Assignee: Tommaso Teofili
             Fix For: 0.4.0


the line 331 of LocalBSPRunner contains a warning which may result in bugs with multiple messages.
In fact 
{code}
LinkedList<BSPMessage> msgs = localOutgoingMessages.get(peerName);
{code}

is trying to get a List of BSPMessage instances from a localOutgoingMessages of type {code}HashMap<InetSocketAddress,
LinkedList<BSPMessage>>{code}.

It seems to me there is problem as peerName is a String, not a InetSocketAddress and in fact
my debugging session highlighted that get() method to result always to return a null object.

The quick fix seems to be putting the lines 337-341 :
{code}
      InetSocketAddress inetSocketAddress = socketCache.get(peerName);
      if (inetSocketAddress == null) {
        inetSocketAddress = BSPNetUtils.getAddress(peerName);
        socketCache.put(peerName, inetSocketAddress);
      }
{code}
upmost in the method and then call 

{code}
LinkedList<BSPMessage> msgs = localOutgoingMessages.get(inetSocketAddress);
{code}

This was highlighted when dealing with multiple messages sent to a same peer in local mode
(only the last msg was actually stored in the outGoingMessages item for that peer).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message