[ 
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

        

Reply via email to