I think I got it, because task should only been killed by vertex. Task killed 
means vertex has already trigger the killing,  so it is not necessary to 
trigger it again when task is killed.

Best Regard,
Jeff Zhang


From: Jianfeng Zhang <[email protected]<mailto:[email protected]>>
Date: Friday, April 3, 2015 at 5:36 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: Why not failing vertex when task is killed ?


I notice that vertex will be killed when any task is failed, but won't been 
killed when task is killed (TaskCompletedTransition in VertexImpl)
Is it for the task that is killed when parallelism of vertex is changed ?  The 
logic here cause the completedTaskCount may be greater than succeededTaskCount.

But looking at the code of VertexImpl.checkVertexForCompletion, vertex should 
succeed only when completedTaskCount is equal to succeededTaskCount.


  if (vertex.completedTaskCount == vertex.tasks.size()) {

      //Only succeed if tasks complete successfully and no terminationCause is 
registered.

      if(vertex.succeededTaskCount == vertex.tasks.size() && 
vertex.terminationCause == null) {



Best Regard,
Jeff Zhang

Reply via email to