GraphState<I, V, E, M> graphState)
throws IOException, InterruptedException;
@Override
public VertexEdgeCount call() {
VertexEdgeCount vertexEdgeCount = new VertexEdgeCount();
String inputSplitPath;
int inputSplitsProcessed = 0;
try {
while ((inputSplitPath = splitsHandler.reserveInputSplit()) != null) {
vertexEdgeCount = vertexEdgeCount.incrVertexEdgeCount(
loadInputSplit(inputSplitPath,
graphState));
context.progress();
++inputSplitsProcessed;
}
} catch (KeeperException e) {
throw new IllegalStateException("call: KeeperException", e);
} catch (InterruptedException e) {
throw new IllegalStateException("call: InterruptedException", e);
} catch (IOException e) {
throw new IllegalStateException("call: IOException", e);
} catch (ClassNotFoundException e) {
throw new IllegalStateException("call: ClassNotFoundException", e);
} catch (InstantiationException e) {
throw new IllegalStateException("call: InstantiationException", e);
} catch (IllegalAccessException e) {
throw new IllegalStateException("call: IllegalAccessException", e);
}
if (LOG.isInfoEnabled()) {
float seconds = Times.getNanosSince(TIME, startNanos) /
Time.NS_PER_SECOND_AS_FLOAT;
float verticesPerSecond = vertexEdgeCount.getVertexCount() / seconds;
float edgesPerSecond = vertexEdgeCount.getEdgeCount() / seconds;
LOG.info("call: Loaded " + inputSplitsProcessed + " " +
"input splits in " + seconds + " secs, " + vertexEdgeCount +
" " + verticesPerSecond + " vertices/sec, " +
edgesPerSecond + " edges/sec");
}