[
https://issues.apache.org/jira/browse/OOZIE-2748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15716630#comment-15716630
]
Robert Kanter commented on OOZIE-2748:
--------------------------------------
If we use "null", might it not cause problems for some programs? Imagine
passing "null" as an argument to something. I think users wouldn't be
expecting to see "null" anywhere.
I think the right approach here would be to simply drop the arguments if
they're empty. That would also allow users to do something like this:
{code:xml}
...
<arg>${foo}</arg>
...
{code}
And from job.properties, they can set {{foo}} to a value to pass it along or to
an empty string to not pass an argument.
This behavior is also more consistent with Hadoop Configuration in that empty
values are dropped.
If we want to alert the user to the fact that they have empty {{<arg>}}, we
could just print out a warning message.
Thoughts?
> NPE in LauncherMapper.printArgs()
> ---------------------------------
>
> Key: OOZIE-2748
> URL: https://issues.apache.org/jira/browse/OOZIE-2748
> Project: Oozie
> Issue Type: Bug
> Components: core
> Affects Versions: 4.2.0
> Reporter: Peter Bacsko
> Assignee: Peter Bacsko
> Attachments: OOZIE-2748-001.patch, OOZIE-2748-002.patch
>
>
> If we define argument for the Spark action like this
> {code}
> <spark xmlns="uri:oozie:spark-action:0.2">
> <job-tracker>${jobTracker}</job-tracker>
> <name-node>${nameNode}</name-node>
> <configuration>
> <property>
> <name>oozie.use.system.libpath</name>
> <value>true</value>
> </property>
> <property>
> <name></name>
> <value></value>
> </property>
> </configuration>
> <master>yarn-cluster</master>
> <mode>cluster</mode>
> <name>Something</name>
> <class>package.of.my.Class</class>
> <jar>${nameNode}/myjar.jar</jar>
> <arg></arg> <--- cause of the NPE
> </spark>
> {code}
> then we get a NullPointerException in LauncherMapper:
> {code}
> Failing Oozie Launcher, Main class
> [org.apache.oozie.action.hadoop.SparkMain], exception invoking main(), null
> java.lang.NullPointerException
> at
> org.apache.oozie.action.hadoop.LauncherMapper.printArgs(LauncherMapper.java:627)
> at
> org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:212)
> at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
> ...
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)