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.