[ 
https://issues.apache.org/jira/browse/GIRAPH-112?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Avery Ching resolved GIRAPH-112.
--------------------------------

    Resolution: Fixed
      Assignee: Avery Ching

Thanks for the report and reviews.
                
> Use elements() properly in LongDoubleFloatDoubleVertex
> ------------------------------------------------------
>
>                 Key: GIRAPH-112
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-112
>             Project: Giraph
>          Issue Type: Bug
>          Components: graph
>    Affects Versions: 0.70.0
>         Environment: Any
>            Reporter: Yuanyuan Tian
>            Assignee: Avery Ching
>             Fix For: 0.70.0
>
>         Attachments: GIRAPH-112.patch
>
>   Original Estimate: 5m
>  Remaining Estimate: 5m
>
> I found a bug in LongDoubleFloatDoubleVertex.write(DataOutput out) when 
> running a small graph algorithm. The symptom is that a vertex read from a 
> different worker becomes junk after the RPC communication. And the source of 
> the problem is the writing of the messages in 
> LongDoubleFloatDoubleVertex.write(DataOutput out):
> for(double msg : messageList.elements()) {
>    out.writeDouble(msg);
> }
> Here messageList.elements() will returns all the elements currently stored in 
> the mahout DoubleArrayList, even including invalid elements between size and 
> capacity. Therefore, the write() function will write a bunch of invalid 
> messages, which will cause error when reading them back in readfields().
> The following is a simple solution:
> double[] elements=messageList.elements();
> for(int i=0; i<messageList.size(); i++) {
>    out.writeDouble(elements[i]);
> }

--
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

        

Reply via email to