[ https://issues.apache.org/jira/browse/PIG-4086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081058#comment-14081058 ]
Rohini Palaniswamy commented on PIG-4086: ----------------------------------------- [~sseth] told me when I did the patch to selectively start inputs that we should never call close() methods of input or output and only framework should do that. [~daijy], can you check with him? > Fix Orc e2e tests for tez > ------------------------- > > Key: PIG-4086 > URL: https://issues.apache.org/jira/browse/PIG-4086 > Project: Pig > Issue Type: Bug > Components: impl > Reporter: Daniel Dai > Assignee: Daniel Dai > Fix For: 0.14.0 > > Attachments: PIG-4086-1.patch > > > All Orc e2e tests fail on tez. > There are two issue: > 1. hivelibdir etc is not set in tez.conf > 2. OrcStorage produce empty output file > Digging into #2, the problem is in this code in PigProcessor: > {code} > if (fileOutput.isCommitRequired()) { > fileOutput.commit(); > } > {code} > fileOutput.commit() invokes both RecordWriter.close() and > committer.commitTask(). However, OrcNewOutputFormate will generate output > file only after RecordWriter.close (if the output file is small), > fileOutput.isCommitRequired will not detect this file, thus skip > fileOutput.commit(). > Changing the code to invoke fileOutput.close explicitly fix the issue. > fileOutput.commit will invoke close again, but there is no side effect since > close will check if it has been already called. -- This message was sent by Atlassian JIRA (v6.2#6252)