You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by "Avery Ching (Updated) (JIRA)" <ji...@apache.org> on 2011/12/21 08:53:33 UTC

[jira] [Updated] (GIRAPH-112) Use elements() properly in LongDoubleFloatDoubleVertex

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

Avery Ching updated GIRAPH-112:
-------------------------------

    Summary: Use elements() properly in LongDoubleFloatDoubleVertex  (was: A bug in LongDoubleFloatDoubleVertex.write(DataOutput out))
    
> 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
>             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