[ 
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)

Reply via email to