You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Abhishek Bafna (JIRA)" <ji...@apache.org> on 2016/12/01 05:29:58 UTC

[jira] [Resolved] (OOZIE-2749) Logging command arguments fails in certain scenarios when using EL functions.

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

Abhishek Bafna resolved OOZIE-2749.
-----------------------------------
       Resolution: Duplicate
    Fix Version/s: 5.0.0

Resolving as Duplicate. Work is in progress in the linked Jira. Thanks.

> Logging command arguments fails in certain scenarios when using EL functions.
> -----------------------------------------------------------------------------
>
>                 Key: OOZIE-2749
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2749
>             Project: Oozie
>          Issue Type: Bug
>    Affects Versions: 4.2.0
>         Environment: All
>            Reporter: Christopher Jackson
>             Fix For: 5.0.0
>
>
> Change were recently made in OOZIE-2244 to mask passwords in logs when printing arguments. These changes cause failures in workflows that use basic EL functions that result in null values.
> For instance if someone is using the EL replaceAll function and it returns an empty string as a result (which is considered null) the following code fails (https://github.com/apache/oozie/commit/3276633f3002ad7e9096c4ee5b6c329f5a708248):
> {code}
> if (arg.toLowerCase().contains("password"))
> {code}
> This was working previously because at some point the null does get converted to an empty string, but it's after the point in which the args are printed.
> An example of an EL function causing this failure, where property foo was equal to "ALL":
> {code}
> <arg>${replaceAll(foo, "^[aA][lL][lL]$", "")}</arg>
> {code}
> ST:
> {code}
> ....
>              null
> Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.JavaMain], 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)
> 	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
> 	at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:422)
> 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
> 	at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)