Oh,I know.If all vertices became inactive in superstep n,the program would exit superstep and didn't go to superstep n+1,even though some vertices send messages to others in superstep n. But in my opinion,if there were messages from vertex A to vertex B,even though vertex A and B were both inactive,the program should do the next superstep. Just express the personal view. Thanks.
------------------ Original ------------------ Sender: "??????"<[email protected]>; Send time: Tuesday, Jan 21, 2014 11:12 PM To: "user"<[email protected]>; Subject: Vertices didn't become active when it received messages Hello, I have a question,Should a vertex become active when it receive some messages,even though it was inactive before receiving message? Now,my program got a problem.In detail,some vertices became inactive in Superstep n.And they would receive messages in Superstep n+m.In my opinion,these vertices which received messages should became active.However,they are not.If these vertices didn't become inactive in Superstep n,the program would run util it reach MaxIteration. What should I do?What's more,I am debuging at local model of Hama 0.6.2.And when I running on distributed mode of Hama 0.6.3,the same problem appeared. Some code of my program are as follows: if (getSuperstepCount() >= 3) { if (!match || (!messages.iterator().hasNext())) { voteToHalt(); return; } for (TriTextPair msg : messages) { matchSet.remove(msg); } boolean flag = judge(judgeList, matchSet); if (flag) { outputRightValue(); } else { sendMessageToNeighbors(new TriTextPair(getVertexID(), getLabel(), new Text("frP"))); voteToHalt(); } } Are there any errors in my program?I need help.Thanks.
