Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The ByteArrayEdges.iterator() method throws the following NPE when no edges are present:
2014-03-31 14:44:46,273 ERROR org.apache.giraph.utils.LogStacktraceCallable: Execution of callable failed
java.lang.NullPointerException
at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:120)
at org.apache.giraph.utils.ExtendedByteArrayDataInput.<init>(ExtendedByteArrayDataInput.java:50)
at org.apache.giraph.conf.ImmutableClassesGiraphConfiguration.createExtendedDataInput(ImmutableClassesGiraphConfiguration.java:1009)
at org.apache.giraph.edge.ByteArrayEdges$ByteArrayEdgeIterator.<init>(ByteArrayEdges.java:141)
at org.apache.giraph.edge.ByteArrayEdges$ByteArrayEdgeIterator.<init>(ByteArrayEdges.java:138)
at org.apache.giraph.edge.ByteArrayEdges.iterator(ByteArrayEdges.java:167)
Simply checking the edgeCount before constructing a new ByteArrayEdgeIterator solves the problem.