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

Hemanth Yamijala updated MAPREDUCE-1418:
----------------------------------------

    Attachment: MAPREDUCE-1418.patch

Attaching a patch implementing the changes.

Details:

- Fixed all the initialization calls (for user, job, task, log and distributed 
cache files) to call check_path_for_relative_components.
- Modified the way in which error code was tracked and handled in the methods 
so I could return a relevant error code when relative components are found.
- Added tests for all the conditions. For testing initialization of job, task 
and distributed cache, the approach followed is that we create the original 
directories and some dummy directories. Then we launch the task controller exe 
with some of the arguments tweaked to have relative components. We verify the 
call fails with an ExitCodeException with the right error code. For user and 
log initialization, I write a taskcontroller.cfg with relative paths in mapred 
local directories and hadoop.log.dir and verify the same failures. The latter 
approach is needed because passing relative paths in the command line arguments 
will not trigger the code path we want to exercise in these two cases.

All task-controller tests are passing with this patch, as also test-patch.

> LinuxTaskController binary misses validation of arguments passed for relative 
> components in some cases.
> -------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1418
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1418
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: security, tasktracker
>            Reporter: Vinod K V
>            Assignee: Hemanth Yamijala
>         Attachments: MAPREDUCE-1418.patch
>
>
> The function {{int check_path_for_relative_components(char * path)}} should 
> be used to validate the absence of relative components before any operation 
> is done on those paths. This is missed in all the {{initialize*()}} 
> functions, as Hemanth pointed out offline.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to