[
https://issues.apache.org/jira/browse/OOZIE-2748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15723005#comment-15723005
]
Robert Kanter commented on OOZIE-2748:
--------------------------------------
{quote}If we drop the null arguments, then number and position of argument
could differ than what other application might be expecting.{quote}
If you think about it like a command line thing, then passing something like
{code:xml}
<arg>AAA</arg>
<arg></arg>
<arg>CCC</arg>
{code}
would be equivalent to
{noformat}
spark-submit AAA CCC
{noformat}
right? The empty argument wouldn't even be there. Even if you put an extra
space, programs typically split on whitespace, so it would be the same. If we
put in "null", then we're doing this:
{noformat}
spark-submit AAA null CCC
{noformat}
{quote}Now it will be applications responsibility to handle the incoming null
values{quote}
I'm pretty sure no programs will be able to properly handle this. And users
will blame Oozie because they didn't put in "null".
> 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)