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

Bikas Saha commented on TEZ-2937:
---------------------------------

IMO, it should be feasible in theory since by that time the processor has 
returned from the run method and hence its done with its work. close() is meant 
only for cleanup. The rub is that MROutput has a commit dependency on the 
processor in that the processor must call mroutput.flush() and 
mroutput.commit() before the processor finishes. Else mroutput.close() will 
automatically flush (if needed) but not commit. [~fs111] Could you please 
confirm/deny Cascading's processor behavior in this context?

> Can Processor.close() be called after closing inputs and outputs?
> -----------------------------------------------------------------
>
>                 Key: TEZ-2937
>                 URL: https://issues.apache.org/jira/browse/TEZ-2937
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Rohini Palaniswamy
>
> Pig hit PIG-4722 as processor.close() which clears some static thread local 
> variables was called when SpillThread was still running the Combiner.  
> LogicalIOProcessorRuntimeTask.java calls processor.close() before closing the 
> inputs and outputs in both close() and cleanup() methods. Can Tez change to 
> closing the processor after the inputs and outputs are closed? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to