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 
LinkedList<BSPMessage> msgs = localOutgoingMessages.get(peerName);

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

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 :
      InetSocketAddress inetSocketAddress = socketCache.get(peerName);
      if (inetSocketAddress == null) {
        inetSocketAddress = BSPNetUtils.getAddress(peerName);
        socketCache.put(peerName, inetSocketAddress);
upmost in the method and then call 

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

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


View raw message