You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hama.apache.org by 步青云 <ma...@qq.com> on 2014/01/21 16:12:47 UTC
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.