[ 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)