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

Cheolsoo Park updated PIG-2973:
-------------------------------

    Attachment: PIG-2973.patch

This is a regression from PIG-2900.

What's happening is that the sub-process spawned by ExecutableManager crashes 
with a NullPointerException at the following line in addJobConfToEnvironment() 
because conf is null:
{code}
String propsToSend = conf.get(PIG_STREAMING_ENVIRONMENT);
{code}
The reason why conf is null is because UDFContext returns null for jobConf on 
the front-end.
{code}
/**
 * Get the JobConf.  This should only be called on
 * the backend.  It will return null on the frontend.
 * @return JobConf for this job.  This is a copy of the
 * JobConf.  Nothing written here will be kept by the system.
 * getUDFConf should be used for recording UDF specific
 * information.
 */
public Configuration getJobConf() {
    if (jconf != null)  return new Configuration(jconf);
    else return null;
}
{code}
In fact, I am surprised that the exec() of ExecutableManager is called on the 
front-end. But I am able to confirm that it's on the front-end by printing out 
the output of UDFContext#isFrontend().

Attached is a patch that checks whether conf is null or not inside 
addJobConfToEnvironment() and returns if it's on the front-end. After applying 
the patch, TestStreaming now passes.

Thanks!
                
> TestStreaming test times out
> ----------------------------
>
>                 Key: PIG-2973
>                 URL: https://issues.apache.org/jira/browse/PIG-2973
>             Project: Pig
>          Issue Type: Sub-task
>    Affects Versions: 0.11
>            Reporter: Rohini Palaniswamy
>             Fix For: 0.11
>
>         Attachments: PIG-2973.patch
>
>


--
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