[
https://issues.apache.org/jira/browse/MAPREDUCE-4309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13414294#comment-13414294
]
Junping Du commented on MAPREDUCE-4309:
---------------------------------------
Yes. That's also what I am thinking. As using configuration based reflection to
create each related objects will make configuring work complex and easy to get
mistakes for user (also I think most of these objects are belonging to
implementation details).
So, I am thinking of two options based on factory pattern:
1. Add only one property in configure to mark the topology is with nodegroup,
then we have a factory class to construct objects base on configuration
property.
2. Leverage the pattern of "Abstract Factory": use reflection to create factory
class according to property in configuration, then use factory to create
different objects accordingly.
I prefer Option 2. What do you think?
@Nicholas, do you have any comments here?
> Make locatlity in YARN's container assignment and task scheduling pluggable
> for other deployment topology
> ---------------------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-4309
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-4309
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Affects Versions: 1.0.0, 2.0.0-alpha
> Reporter: Junping Du
> Assignee: Junping Du
> Attachments:
> HADOOP-8474-ContainerAssignmentTaskScheduling-pluggable.patch,
> MAPREDUCE-4309-v2.patch, MAPREDUCE-4309-v3.patch, MAPREDUCE-4309-v4.patch,
> MAPREDUCE-4309.patch
>
>
> There are several classes in YARN’s container assignment and task scheduling
> algorithms that relate to data locality which were updated to give preference
> to running a container on other locality besides node-local and rack-local
> (like nodegroup-local). This propose to make these data structure/algorithms
> pluggable, like: SchedulerNode, RMNodeImpl, etc. The inner class
> ScheduledRequests was made a package level class to it would be easier to
> create a subclass, ScheduledRequestsWithNodeGroup.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira