You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Vinod K V (JIRA)" <ji...@apache.org> on 2009/11/12 12:36:39 UTC

[jira] Commented: (MAPREDUCE-915) For secure environments, the Map/Reduce debug script must be run as the user.

    [ https://issues.apache.org/jira/browse/MAPREDUCE-915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776957#action_12776957 ] 

Vinod K V commented on MAPREDUCE-915:
-------------------------------------

Did a review of the patch. It looks mostly good. Also ran the tests, and verified that the debug scrip is indeed run as user by putting in hard-coded sleeps.

Some code-l comments, mostly minor:
 - Rename DebugControllerContext to DebugScriptContext? 
 - Rename LAUNCH_DEBUG_SCRIPT to RUN_DEBUG_SCRIPT everywhere?

TaskController.java, DefaultTaskController.java
 - Rename launchDebugScript() to runDebugScript(). We are actually running the script, i.e. waiting for it's finish.
 - Remove the internal-usage javadoc and tag it with @InterfaceAudience.Private?

TaskTracker.java
 - +2372 Code related to adding debug out to diagnostics isn't needed if TaskController.launchDebugScript() fails with an exception.
 - A simple log msg in tasktracker's log when running debug script for a task?
 - Can you also refactor the whole debug-script-business into a single method? It is a good enough amount of isolated code that warrants its own home, me
 thinks.

LinuxTaskController.java
 - I think that we should write the debug command to a new file other than taskjvm.sh? What do others think? This would also mean changes to run_debug_script_as_user() in task-controller.c
 - In any case, I feel we should try to reuse code across run_task_as_user() and run_debug_script_as_user().
 - Much of the code in launchDebugScript() can be replace by a call to LinuxTaskController.runCommand()
 
TaskLog.java
 - Make readTaskLog() package-private? And mark it as test-only method? Nowhere else is it used now. In fact, why not move it to the test-case that uses it?
 
TestDebugScript.java
 - Set TTConfig.TT_SLEEP_TIME_BEFORE_SIG_KILL to zero and pass it at MiniMR's cluster-startup? Saves five seconds on the test-time.
 - Typo at +155? "&&" instead of "&"?

> For secure environments, the Map/Reduce debug script must be run as the user.
> -----------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-915
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-915
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: security, tasktracker
>    Affects Versions: 0.21.0
>            Reporter: Hemanth Yamijala
>            Assignee: Devaraj Das
>            Priority: Blocker
>             Fix For: 0.21.0
>
>         Attachments: 915.1.patch, 915.2.patch, 915.patch
>
>
> The Taskcontroller model allows admins to set up a cluster configuration that runs tasks as users. The debug script feature of Map/Reduce provided by the configuration options: mapred.map.task.debug.script and mapred.reduce.task.debug.script need to be run as the user as well in such environments, rather than as the tasktracker user.

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