Thomas Jungblut created HAMA-738:
------------------------------------
Summary: Save space for Null valued edges
Key: HAMA-738
URL: https://issues.apache.org/jira/browse/HAMA-738
Project: Hama
Issue Type: Bug
Components: graph
Affects Versions: 0.6.0, 0.6.1
Reporter: Thomas Jungblut
Priority: Minor
Edges should have two different classes:
1. Edge that contains just the ID
2. ValuedEdge that inherits from Edge and adds Value.
This saves space of the references for each edge in case Algorithms have
defined NullWritable as their EdgeValue type.
We keep the "interface" defined by following methods:
- getDestinationVertexID
- getValue/getCost
In the Edge class the getValue/getCost methods are returning constantly null,
in the ValuedEdge the corresponding value.
Proposal for the internal changes:
Factory method createEdge() in GraphJobRunner (analogous to createVertexValue).
This factory takes the class type of the defined EDGE_VALUE into account and
handles either the Edge or the ValuedEdge to the outside. Then refactor all
usages of "new Edge<>" in our code to use that factory method.
Note that after HAMA-704 this just safes a little memory, so this is a minor
issue for graphs with larger number of edges.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira