[ https://issues.apache.org/jira/browse/KNOX-2991?focusedWorklogId=893150&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-893150 ]
ASF GitHub Bot logged work on KNOX-2991: ---------------------------------------- Author: ASF GitHub Bot Created on: 30/Nov/23 11:36 Start Date: 30/Nov/23 11:36 Worklog Time Spent: 10m Work Description: dionusos closed pull request #823: KNOX-2991 - Sanitise Oozie rewrite rules URL: https://github.com/apache/knox/pull/823 Issue Time Tracking ------------------- Worklog Id: (was: 893150) Time Spent: 20m (was: 10m) > Sanitise Oozie rewrite rules > ---------------------------- > > Key: KNOX-2991 > URL: https://issues.apache.org/jira/browse/KNOX-2991 > Project: Apache Knox > Issue Type: Bug > Components: Server > Affects Versions: 1.6.0 > Reporter: Dénes Bodó > Assignee: Dénes Bodó > Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > Testing Oozie through Knox proxy I found that there are some strange rewrite > rule which seems outdated: > {noformat} > <detect path="name" value="inputDir"> > <apply path="value" rule="OOZIE/oozie/hdfs-path"/> > </detect> > <detect path="name" value="outputDir"> > <apply path="value" rule="OOZIE/oozie/hdfs-path"/> > </detect> > {noformat} > This ticket is intended to track the work removing them. > *inputDir* and *outputDir* are frequently used in Oozie's job.properties as a > single directory name instead of a full HDFS path so in these cases the Oozie > workflow fails running due to incorrect variable resolution: > Configuration in job.properties: > {noformat} > nameNode=WILL_BE_UPDATED_BY_KNOX > outputDir=my_custom_output_dir {noformat} > workflow.xml: > {code:xml} > <prepare> > <delete > path="${nameNode}/user/${wf:user()}/examples/output-data/${outputDir}"/> > </prepare>{code} > Error in Oozie launcher: > {noformat} > Launcher AM execution failed > java.lang.IllegalArgumentException: java.net.URISyntaxException: Expected > scheme-specific part at index 5: hdfs: > at org.apache.hadoop.fs.Path.initialize(Path.java:259) > at org.apache.hadoop.fs.Path.<init>(Path.java:217) > at org.apache.hadoop.fs.Path.<init>(Path.java:125) > at org.apache.hadoop.fs.Globber.doGlob(Globber.java:285) > at org.apache.hadoop.fs.Globber.glob(Globber.java:202) > at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:2107) > at > org.apache.oozie.action.hadoop.FSLauncherURIHandler.delete(FSLauncherURIHandler.java:59) > at > org.apache.oozie.action.hadoop.PrepareActionsHandler.execute(PrepareActionsHandler.java:83) > at > org.apache.oozie.action.hadoop.PrepareActionsHandler.prepareAction(PrepareActionsHandler.java:74) > at > org.apache.oozie.action.hadoop.LauncherAM.executePrepare(LauncherAM.java:378) > at > org.apache.oozie.action.hadoop.LauncherAM.access$100(LauncherAM.java:55) > at org.apache.oozie.action.hadoop.LauncherAM$2.run(LauncherAM.java:229) > 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:1899) > at org.apache.oozie.action.hadoop.LauncherAM.run(LauncherAM.java:226) > at org.apache.oozie.action.hadoop.LauncherAM$1.run(LauncherAM.java:156) > 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:1899) > at org.apache.oozie.action.hadoop.LauncherAM.main(LauncherAM.java:144) > Caused by: java.net.URISyntaxException: Expected scheme-specific part at > index 5: hdfs: > at java.net.URI$Parser.fail(URI.java:2847) > at java.net.URI$Parser.failExpecting(URI.java:2853) > at java.net.URI$Parser.parse(URI.java:3056) > at java.net.URI.<init>(URI.java:746) > at org.apache.hadoop.fs.Path.initialize(Path.java:256) > ... 20 more {noformat} > > Found the real HDFS path after debugging the Oozie action: > {noformat} > hdfs://a.b.c.d:8020/user/test/examples/output-data/hdfs://a.b.c.d:8020/my_custom_output_dir{noformat} > -- This message was sent by Atlassian Jira (v8.20.10#820010)