[
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