[
https://issues.apache.org/jira/browse/MAPREDUCE-2265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12983438#action_12983438
]
Allen Wittenauer commented on MAPREDUCE-2265:
---------------------------------------------
Due to multi-architecture JVMs on various OSes (Solaris, OS X, and likely
others), I doubt we'll ever be able to remove the requirement from native libs
since the user can supply the -d flag to flip back and forth. Due to the
linking requirements, we're sort of stuck here. Executables are a different
beast. I personally can't think of a modern OS where the 64-bit variant
couldn't run its 32-bit variant's executables. They might be out there, but
likely rare. So I don't think we're looking at a 32-bit RHEL vs. 64-bit RHEL
problem. We're more likely looking at a RHEL5 vs. RHEL6 issue or a SunOS 5.10
SPARC vs. i386 issue. To which I say:
- Keep the platform structure in libexec
- Make libexec/taskcontroller a shell wrapper (or whatever) that determines the
proper platform and calls the proper exec
This also enables us to provide a different binary for OSes that provide
different functionalities. (For example, on Solaris, I'd likely use a pfexec
equivalent anyway.)
> task-controller and jsvc should install into sbin/<platform>/ directory
> -----------------------------------------------------------------------
>
> Key: MAPREDUCE-2265
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2265
> Project: Hadoop Map/Reduce
> Issue Type: Improvement
> Components: build, task-controller, tasktracker
> Affects Versions: 0.22.0
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Priority: Blocker
> Fix For: 0.22.0
>
>
> Currently the task-controller and jsvc "live" in the bin/ directory
> regardless of build platform. This is incorrect since these components are
> native compiled code and thus are built for a particular architecture. So,
> when we ship a build of 22, we will want to ship both 32-bit and 64-bit
> artifacts so users can use these components without rebuilding on their own.
> Additionally, it doesn't make sense for them to be in bin/ since they're not
> user-facing in any way (i.e a user would never directly invoke them). So I
> would propose putting them in an sbin directory.
> The final proposed path is $HADOOP_HOME/sbin/<platform>/{jsvc,task-controller}
> Note this is not an incompatible change since these components were not
> present in any prior apache release.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.