[ 
https://issues.apache.org/jira/browse/TEZ-1062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13977734#comment-13977734
 ] 

Mohammad Kamrul Islam commented on TEZ-1062:
--------------------------------------------

Thanks again [~bikassaha] for the review.
Need some clarifications:

bq. Secondly, we should call getContext().canCommit() only once ...

Struggling to find the correct ordering of two checks. How about this?

{noformat}
+   while (!getContext().canCommit()) {
+        Thread.sleep(100);
+    }
+   for (LogicalOutput output : outputs.values()) {
+        if ((output instanceof MROutput) && (((MROutput) 
output).isCommitRequired())) {
+          ((MROutput) output).commit();
+        }
+    }
{noformat}

Related question:
bq.  If any output fails to commit then we should abort all the outputs that 
needed commit.

I think already committed outputs can't be aborted. 

How to determine some output fails? when output.commit() throw exception?

By abort, do you mean to break the loop. 




> Create SimpleProcessor for processors that only need to implement the run 
> method
> --------------------------------------------------------------------------------
>
>                 Key: TEZ-1062
>                 URL: https://issues.apache.org/jira/browse/TEZ-1062
>             Project: Apache Tez
>          Issue Type: Sub-task
>            Reporter: Bikas Saha
>            Assignee: Mohammad Kamrul Islam
>         Attachments: TEZ-1062.1.patch
>
>
> The SimpleProcessor could take care of all things like starting input, 
> committing outputs. It would handle no events, since simple processors dont 
> need to handle inputs. Thus the user would only need to implement their 
> custom task logic in a new execute() method.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to