[
https://issues.apache.org/jira/browse/HCATALOG-60?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francis Liu updated HCATALOG-60:
--------------------------------
Attachment: HCatalog-60.patch
I tried to tread carefully but a lot of the logic was in HCatOutputCommitter
and HCatRecordWriter. I added logic to make the OutputCommitter and
RecordWriter returned by HCatOutputFormat pluggable. In light of that I added
FileOutputFormat and DefaultOutputFormat. The former used for file based
storage. There were some things that could be refactored but I tried to
transfer as is a lot of the logic from the HCat* classes to the File* classes
and the FileOuputStorageDriver. All of these changes are not exposed to the
user except for FileOutputStorageDriver which file-based output storage drivers
should extend.
Hopefully you guys can take a look at this soon since this is a big change as
well as a blocker for the hbase drivers.
> HCatBaseOutputCommitter.abortJob and HCatBaseOutputCommitter.commitJob
> assumes a getLocation() always returns path
> ------------------------------------------------------------------------------------------------------------------
>
> Key: HCATALOG-60
> URL: https://issues.apache.org/jira/browse/HCATALOG-60
> Project: HCatalog
> Issue Type: Bug
> Reporter: Francis Liu
> Assignee: Francis Liu
> Attachments: HCatalog-60.patch
>
>
> Some table sources have no need for paths (ie HBase) and thus
> JobInfo.location may be null. Looks like commitJob was trying to do a test
> before acting on the location but buggy. abortJob does not have such check.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira