incubator-giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yuanyuan Tian (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (GIRAPH-112) A bug in LongDoubleFloatDoubleVertex.write(DataOutput out)
Date Wed, 21 Dec 2011 01:19:31 GMT
A bug in LongDoubleFloatDoubleVertex.write(DataOutput out)
----------------------------------------------------------

                 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


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

        

Mime
View raw message