[ 
https://issues.apache.org/jira/browse/HADOOP-1844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12549507
 ] 

Doug Cutting commented on HADOOP-1844:
--------------------------------------

A single patch for this is probably best.  Some comments:

- indentation is not Hadoop standard (2-spaces per level)
- non-existent files in the classpath should not throw exceptions, should they?
- some unit tests would be good to ensure that these changes are maintained
- patches should not include patch-specific comments
- i don't like modifying the child's job configuration.  can't this be 
implemented by using 'final' parameters in the tasktracker's configuration, so 
that job's cannot override them?


> Allow hadoop to run in an osgi container
> ----------------------------------------
>
>                 Key: HADOOP-1844
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1844
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: mapred
>            Reporter: David Savage
>            Assignee: Christophe Taton
>         Attachments: classpath.patch, tasklog.patch, taskrunner.patch, 
> tasktracker.patch
>
>
> I have been running some tests getting hadoop to run within an osgi 
> environment (specifically the Newton framework) and this has uncovered a 
> number of minor bugs when mapred classes are instantiated from a different 
> start point than their main methods.
> I have created a number of patches which I'll attach which solve these 
> issues. It's possible these patches could be dealt with as separate issues 
> but all are required to resolve the osgi issue. Happy to split up if easier 
> to manage though.
> classpath.patch: this rearranges the classloader hierarchies for Task objects 
> such that a Task is able to resolve api classes in the case where the api 
> classes are no longer loaded from the system classloader.
> tasklog.patch: this ensures the log files are able to be resolved in the case 
> where the child process is launched from a different directory to the parent 
> process
> taskrunner.patch: this enables the TaskRunner to find a log dir in the case 
> where the parent jvm is not launched by the hadoop scripts, also allows for a 
> client to specify a substitute main class (which delegates to the 
> TaskTracker$Child) in this case for purposes of resolving osgi classpaths but 
> could be more general? Finally adds some extra logging in case where things 
> go wrong.
> tasktracker.patch: allow parent to pass through configuration to child 
> taskrunner (specifically in this case for purposes of passing classpath and 
> laucher to taskrunner)

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