[ 
https://issues.apache.org/jira/browse/PIG-2924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bill Graham updated PIG-2924:
-----------------------------

    Status: Open  (was: Patch Available)

This looks great, thanks for taking this one. I think we need to make a few 
changes to the pattern used PIG-2574 though, because we could have a case where 
we have multiple store funcs that each write to a different data source.

* Instead of registering a single new computer it would be ideal if we could 
register a list of computers.
* Each computer could have a {{boolean supports(POStore poStore)}} method that 
returns whether this class supports a given POStore. This can often be done by 
inspecting the output path. A default URI-based abstract class could help with 
that part.
* The computers would then be consulted in order, where the first to support 
the POStore wins.
* If a computer can't determine a size for some reason (i.e., it doesn't 
support it or an exception occurred), it shouldn't return 0. Instead maybe we 
reserve -1 for this case and document it as such. 
* Having the word Computer in the interface name and configs could cause 
confusion, due to how it's an overloaded term. I don't have any great 
suggestions though. {{PigStatsOutputSizeReader}}?

Thoughts? 
 

                
> PigStats should not be assuming all Storage classes to be file-based storage
> ----------------------------------------------------------------------------
>
>                 Key: PIG-2924
>                 URL: https://issues.apache.org/jira/browse/PIG-2924
>             Project: Pig
>          Issue Type: Bug
>          Components: tools
>    Affects Versions: 0.10.0, 0.9.2
>            Reporter: Harsh J
>            Assignee: Cheolsoo Park
>         Attachments: PIG-2924-2.patch, PIG-2924.patch
>
>
> Using PigStatsUtil (like Oozie does) to collect JobStats for jobs that use a 
> HBaseStorage blows up when the stats are asked to be accumulated.
> This is because JobStats (which adds stuff up) is assuming all storages are 
> file based and that it can do listStatus/etc. operations on their 
> filespec-provided filename. For HBaseStorage, this is set to the tablename 
> and there's no such file, leading to an exception (FileNotFound or Invalid 
> URI - depending on using 'tablename' or 'hbase://tablename').

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to