Jeff Zhang commented on PIG-889:

Santhosh, Thank you for your review.
You are right, the testcase I provider will throw NullPointerException in local 

After more investigation, I found that actually I can 
PigHadoopLogger.warn(Object o, String msg, Enum warningEnum) to increment 
But it seems this method has some problems, because the Counter it generates is 
always one less than real Counter. And I found
this is because when Pig read the first record the reporter is null, but when 
it reads the second one, the reporter is not null. I guess the reason is that 
it is been set in PigMapBase (line 217) when do map operation on the first 

I do some changes on my patch,  The load funct PigStorageUsingReporter I 
provide is not for local model, it is just to make sure in mapreduce mode, the 
reporter should not been null.

> Pig can not access reporter of PigHadoopLog in Load Func
> --------------------------------------------------------
>                 Key: PIG-889
>                 URL: https://issues.apache.org/jira/browse/PIG-889
>             Project: Pig
>          Issue Type: Improvement
>          Components: impl
>    Affects Versions: 0.4.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>             Fix For: 0.4.0
> I'd like to increment Counter in my own LoadFunc, but it will throw 
> NullPointerException. It seems that the reporter is not initialized.  
> I looked into this problem and find that it need to call 
> PigHadoopLogger.getInstance().setReporter(reporter) in PigInputFormat.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to