Hello, I am trying to write code to compute the local clustering coefficient of a vertex/some vertices, and to do this I send a message that contains a list of the source's neighbors to each of its neighbors. This is in, of course, an IntArrayListWritable. I check the list that I am sending before invoking sendMessage(), and it appears to be correct. However, when I use message.iterator.next() or something similar, the IntArrayListWritable objects seem to repeat or something. I did some logging, and here was the output:
SUPERSTEP 0 ------------------------------ Vertex 1 sends [2, 3, 4] to Vertex 2 Vertex 1 sends [2, 3, 4] to Vertex 3 Vertex 1 sends [2, 3, 4] to Vertex 4 SUPERSTEP 1 ------------------------------ Vertex 2 receives [2, 3, 4] Vertex 2 sends [1] to Vertex 1 SUPERSTEP 1 ------------------------------ Vertex 3 receives [2, 3, 4, 2, 3, 4] Vertex 3 sends [1] to Vertex 1 SUPERSTEP 1 ------------------------------ Vertex 4 receives [2, 3, 4, 2, 3, 4, 2, 3, 4] Vertex 4 sends [0] to Vertex 1 SUPERSTEP 2 ------------------------------ Message 1 contains: [1] Message 2 contains: [1, 1, 1] Message 3 contains: [1, 1, 1, 1, 1, 0] What is happening? -- Kyle Orlando Computer Engineering Major University of Maryland
