[jira] [Updated] (MAPREDUCE-6871) Allow users to specify racks and nodes for strict locality for AMs

2017-04-21 Thread Robert Kanter (JIRA)

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

Robert Kanter updated MAPREDUCE-6871:
-
   Resolution: Fixed
 Hadoop Flags: Reviewed
Fix Version/s: 3.0.0-alpha3
   2.9.0
   Status: Resolved  (was: Patch Available)

Thanks [~haibochen] and [~kasha] for reviews.  Committed to branch-2 and trunk!

> Allow users to specify racks and nodes for strict locality for AMs
> --
>
> Key: MAPREDUCE-6871
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6871
> Project: Hadoop Map/Reduce
>  Issue Type: New Feature
>  Components: client
>Reporter: Robert Kanter
>Assignee: Robert Kanter
> Fix For: 2.9.0, 3.0.0-alpha3
>
> Attachments: MAPREDUCE-6871.001.patch, MAPREDUCE-6871.002.patch, 
> MAPREDUCE-6871.003.patch, MAPREDUCE-6871.004.patch, MAPREDUCE-6871.005.patch, 
> MAPREDUCE-6871.005.patch
>
>
> YARN-6050 fixed the YARN API to allow multiple {{ResourceRequest}}'s when 
> submitting an AM so that you can actually do rack or node locality.  We 
> should allow MapReduce users to take advantage of this by exposing this 
> functionality in some way.  The raw YARN API allows for a lot of flexibility 
> (e.g. different resources per request, etc), but we don't necessarily want to 
> allow the user to do too much here so they don't shoot themselves in the foot 
> and we don't make this overly complicated.  
> I propose we allow users to specify racks and nodes for strict locality.  
> This would allow users to restrict an MR AM to specific racks and/or nodes.  
> We could add a new property, 
> {{mapreduce.job.am.resource-request.strict.locality}}, which takes a 
> comma-separated list of entries like:
> - {{/}}
> - {{//}}
> - {{}} (assumes /default-rack)
> MapReduce would then use this information to create the corresponding 
> {{ResourceRequest}}'s.  
> For example, 
> {{mapreduce.job.am.resource-request.strict.locality=/rack1/node1}} would 
> create the following {{ResourceRequest}}'s:
> - resourceName=ANY, relaxLocality=false, capability=
> - resourceName=/rack1, relaxLocality=false, capability=
> - resourceName=node1, relaxLocality=true, capability=
> By default, the property would be unset, and you'd get the normal {{ANY}} 
> {{ResourceRequest}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org



[jira] [Updated] (MAPREDUCE-6871) Allow users to specify racks and nodes for strict locality for AMs

2017-04-20 Thread Robert Kanter (JIRA)

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

Robert Kanter updated MAPREDUCE-6871:
-
Attachment: MAPREDUCE-6871.005.patch

I was talking to [~templedf] about regexes and he suggested using 
{{String.format}} to make the regex as one String, which makes it easier to 
read.  The 005 patch does that.

> Allow users to specify racks and nodes for strict locality for AMs
> --
>
> Key: MAPREDUCE-6871
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6871
> Project: Hadoop Map/Reduce
>  Issue Type: New Feature
>  Components: client
>Reporter: Robert Kanter
>Assignee: Robert Kanter
> Attachments: MAPREDUCE-6871.001.patch, MAPREDUCE-6871.002.patch, 
> MAPREDUCE-6871.003.patch, MAPREDUCE-6871.004.patch, MAPREDUCE-6871.005.patch, 
> MAPREDUCE-6871.005.patch
>
>
> YARN-6050 fixed the YARN API to allow multiple {{ResourceRequest}}'s when 
> submitting an AM so that you can actually do rack or node locality.  We 
> should allow MapReduce users to take advantage of this by exposing this 
> functionality in some way.  The raw YARN API allows for a lot of flexibility 
> (e.g. different resources per request, etc), but we don't necessarily want to 
> allow the user to do too much here so they don't shoot themselves in the foot 
> and we don't make this overly complicated.  
> I propose we allow users to specify racks and nodes for strict locality.  
> This would allow users to restrict an MR AM to specific racks and/or nodes.  
> We could add a new property, 
> {{mapreduce.job.am.resource-request.strict.locality}}, which takes a 
> comma-separated list of entries like:
> - {{/}}
> - {{//}}
> - {{}} (assumes /default-rack)
> MapReduce would then use this information to create the corresponding 
> {{ResourceRequest}}'s.  
> For example, 
> {{mapreduce.job.am.resource-request.strict.locality=/rack1/node1}} would 
> create the following {{ResourceRequest}}'s:
> - resourceName=ANY, relaxLocality=false, capability=
> - resourceName=/rack1, relaxLocality=false, capability=
> - resourceName=node1, relaxLocality=true, capability=
> By default, the property would be unset, and you'd get the normal {{ANY}} 
> {{ResourceRequest}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org



[jira] [Updated] (MAPREDUCE-6871) Allow users to specify racks and nodes for strict locality for AMs

2017-04-20 Thread Robert Kanter (JIRA)

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

Robert Kanter updated MAPREDUCE-6871:
-
Attachment: MAPREDUCE-6871.005.patch

I was talking to [~templedf] about regexes and he suggested using 
{{String.format}} to make the regex as one String, which makes it easier to 
read.  The 005 patch does that.

> Allow users to specify racks and nodes for strict locality for AMs
> --
>
> Key: MAPREDUCE-6871
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6871
> Project: Hadoop Map/Reduce
>  Issue Type: New Feature
>  Components: client
>Reporter: Robert Kanter
>Assignee: Robert Kanter
> Attachments: MAPREDUCE-6871.001.patch, MAPREDUCE-6871.002.patch, 
> MAPREDUCE-6871.003.patch, MAPREDUCE-6871.004.patch, MAPREDUCE-6871.005.patch, 
> MAPREDUCE-6871.005.patch
>
>
> YARN-6050 fixed the YARN API to allow multiple {{ResourceRequest}}'s when 
> submitting an AM so that you can actually do rack or node locality.  We 
> should allow MapReduce users to take advantage of this by exposing this 
> functionality in some way.  The raw YARN API allows for a lot of flexibility 
> (e.g. different resources per request, etc), but we don't necessarily want to 
> allow the user to do too much here so they don't shoot themselves in the foot 
> and we don't make this overly complicated.  
> I propose we allow users to specify racks and nodes for strict locality.  
> This would allow users to restrict an MR AM to specific racks and/or nodes.  
> We could add a new property, 
> {{mapreduce.job.am.resource-request.strict.locality}}, which takes a 
> comma-separated list of entries like:
> - {{/}}
> - {{//}}
> - {{}} (assumes /default-rack)
> MapReduce would then use this information to create the corresponding 
> {{ResourceRequest}}'s.  
> For example, 
> {{mapreduce.job.am.resource-request.strict.locality=/rack1/node1}} would 
> create the following {{ResourceRequest}}'s:
> - resourceName=ANY, relaxLocality=false, capability=
> - resourceName=/rack1, relaxLocality=false, capability=
> - resourceName=node1, relaxLocality=true, capability=
> By default, the property would be unset, and you'd get the normal {{ANY}} 
> {{ResourceRequest}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org



[jira] [Updated] (MAPREDUCE-6871) Allow users to specify racks and nodes for strict locality for AMs

2017-04-19 Thread Robert Kanter (JIRA)

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

Robert Kanter updated MAPREDUCE-6871:
-
Attachment: MAPREDUCE-6871.004.patch

The 004 patch:
- Renames the config to {{mapreduce.job.am.strict-locality}}
- Adds a debug logging check
- Removes the redundant label setting code in a test (I think that's a holdover 
from an earlier version)

[~kasha], for your feedback about the {{rackRequests}}: it does need to be a 
map.  If someone specifies {{/rack1,/rack1/node1}}, we'd need to update the 
already created request for rack1 to have the strict locality set to false.

> Allow users to specify racks and nodes for strict locality for AMs
> --
>
> Key: MAPREDUCE-6871
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6871
> Project: Hadoop Map/Reduce
>  Issue Type: New Feature
>  Components: client
>Reporter: Robert Kanter
>Assignee: Robert Kanter
> Attachments: MAPREDUCE-6871.001.patch, MAPREDUCE-6871.002.patch, 
> MAPREDUCE-6871.003.patch, MAPREDUCE-6871.004.patch
>
>
> YARN-6050 fixed the YARN API to allow multiple {{ResourceRequest}}'s when 
> submitting an AM so that you can actually do rack or node locality.  We 
> should allow MapReduce users to take advantage of this by exposing this 
> functionality in some way.  The raw YARN API allows for a lot of flexibility 
> (e.g. different resources per request, etc), but we don't necessarily want to 
> allow the user to do too much here so they don't shoot themselves in the foot 
> and we don't make this overly complicated.  
> I propose we allow users to specify racks and nodes for strict locality.  
> This would allow users to restrict an MR AM to specific racks and/or nodes.  
> We could add a new property, 
> {{mapreduce.job.am.resource-request.strict.locality}}, which takes a 
> comma-separated list of entries like:
> - {{/}}
> - {{//}}
> - {{}} (assumes /default-rack)
> MapReduce would then use this information to create the corresponding 
> {{ResourceRequest}}'s.  
> For example, 
> {{mapreduce.job.am.resource-request.strict.locality=/rack1/node1}} would 
> create the following {{ResourceRequest}}'s:
> - resourceName=ANY, relaxLocality=false, capability=
> - resourceName=/rack1, relaxLocality=false, capability=
> - resourceName=node1, relaxLocality=true, capability=
> By default, the property would be unset, and you'd get the normal {{ANY}} 
> {{ResourceRequest}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org



[jira] [Updated] (MAPREDUCE-6871) Allow users to specify racks and nodes for strict locality for AMs

2017-04-12 Thread Robert Kanter (JIRA)

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

Robert Kanter updated MAPREDUCE-6871:
-
Attachment: MAPREDUCE-6871.003.patch

Thanks for taking a look [~kasha].  I've addressed your feedback.

The 003 patch:
- Moves the code to it's own method
- Replaces the iterating lookup with a hashmap

> Allow users to specify racks and nodes for strict locality for AMs
> --
>
> Key: MAPREDUCE-6871
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6871
> Project: Hadoop Map/Reduce
>  Issue Type: New Feature
>  Components: client
>Reporter: Robert Kanter
>Assignee: Robert Kanter
> Attachments: MAPREDUCE-6871.001.patch, MAPREDUCE-6871.002.patch, 
> MAPREDUCE-6871.003.patch
>
>
> YARN-6050 fixed the YARN API to allow multiple {{ResourceRequest}}'s when 
> submitting an AM so that you can actually do rack or node locality.  We 
> should allow MapReduce users to take advantage of this by exposing this 
> functionality in some way.  The raw YARN API allows for a lot of flexibility 
> (e.g. different resources per request, etc), but we don't necessarily want to 
> allow the user to do too much here so they don't shoot themselves in the foot 
> and we don't make this overly complicated.  
> I propose we allow users to specify racks and nodes for strict locality.  
> This would allow users to restrict an MR AM to specific racks and/or nodes.  
> We could add a new property, 
> {{mapreduce.job.am.resource-request.strict.locality}}, which takes a 
> comma-separated list of entries like:
> - {{/}}
> - {{//}}
> - {{}} (assumes /default-rack)
> MapReduce would then use this information to create the corresponding 
> {{ResourceRequest}}'s.  
> For example, 
> {{mapreduce.job.am.resource-request.strict.locality=/rack1/node1}} would 
> create the following {{ResourceRequest}}'s:
> - resourceName=ANY, relaxLocality=false, capability=
> - resourceName=/rack1, relaxLocality=false, capability=
> - resourceName=node1, relaxLocality=true, capability=
> By default, the property would be unset, and you'd get the normal {{ANY}} 
> {{ResourceRequest}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org



[jira] [Updated] (MAPREDUCE-6871) Allow users to specify racks and nodes for strict locality for AMs

2017-04-06 Thread Robert Kanter (JIRA)

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

Robert Kanter updated MAPREDUCE-6871:
-
Attachment: MAPREDUCE-6871.002.patch

Thanks [~haibochen] for taking a look.  I've addressed your feedback.

The 002 patch:
- Uses a regex for parsing the config.  I think this makes the code much 
clearer and more readable because I'm also using named captured groups.  
- Renames the config property as [~haibochen] suggested.
- Refactored the test code to split it up into different tests and added a few 
more cases.

> Allow users to specify racks and nodes for strict locality for AMs
> --
>
> Key: MAPREDUCE-6871
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6871
> Project: Hadoop Map/Reduce
>  Issue Type: New Feature
>  Components: client
>Reporter: Robert Kanter
>Assignee: Robert Kanter
> Attachments: MAPREDUCE-6871.001.patch, MAPREDUCE-6871.002.patch
>
>
> YARN-6050 fixed the YARN API to allow multiple {{ResourceRequest}}'s when 
> submitting an AM so that you can actually do rack or node locality.  We 
> should allow MapReduce users to take advantage of this by exposing this 
> functionality in some way.  The raw YARN API allows for a lot of flexibility 
> (e.g. different resources per request, etc), but we don't necessarily want to 
> allow the user to do too much here so they don't shoot themselves in the foot 
> and we don't make this overly complicated.  
> I propose we allow users to specify racks and nodes for strict locality.  
> This would allow users to restrict an MR AM to specific racks and/or nodes.  
> We could add a new property, 
> {{mapreduce.job.am.resource-request.strict.locality}}, which takes a 
> comma-separated list of entries like:
> - {{/}}
> - {{//}}
> - {{}} (assumes /default-rack)
> MapReduce would then use this information to create the corresponding 
> {{ResourceRequest}}'s.  
> For example, 
> {{mapreduce.job.am.resource-request.strict.locality=/rack1/node1}} would 
> create the following {{ResourceRequest}}'s:
> - resourceName=ANY, relaxLocality=false, capability=
> - resourceName=/rack1, relaxLocality=false, capability=
> - resourceName=node1, relaxLocality=true, capability=
> By default, the property would be unset, and you'd get the normal {{ANY}} 
> {{ResourceRequest}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org



[jira] [Updated] (MAPREDUCE-6871) Allow users to specify racks and nodes for strict locality for AMs

2017-03-29 Thread Robert Kanter (JIRA)

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

Robert Kanter updated MAPREDUCE-6871:
-
Attachment: MAPREDUCE-6871.001.patch

The 001 patch:
- Adds the new property with the behavior as described above
- Adds unit tests
- I also verified that it behaves correctly in a cluster

> Allow users to specify racks and nodes for strict locality for AMs
> --
>
> Key: MAPREDUCE-6871
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6871
> Project: Hadoop Map/Reduce
>  Issue Type: New Feature
>  Components: client
>Reporter: Robert Kanter
>Assignee: Robert Kanter
> Attachments: MAPREDUCE-6871.001.patch
>
>
> YARN-6050 fixed the YARN API to allow multiple {{ResourceRequest}}'s when 
> submitting an AM so that you can actually do rack or node locality.  We 
> should allow MapReduce users to take advantage of this by exposing this 
> functionality in some way.  The raw YARN API allows for a lot of flexibility 
> (e.g. different resources per request, etc), but we don't necessarily want to 
> allow the user to do too much here so they don't shoot themselves in the foot 
> and we don't make this overly complicated.  
> I propose we allow users to specify racks and nodes for strict locality.  
> This would allow users to restrict an MR AM to specific racks and/or nodes.  
> We could add a new property, 
> {{mapreduce.job.am.resource-request.strict.locality}}, which takes a 
> comma-separated list of entries like:
> - {{/}}
> - {{//}}
> - {{}} (assumes /default-rack)
> MapReduce would then use this information to create the corresponding 
> {{ResourceRequest}}'s.  
> For example, 
> {{mapreduce.job.am.resource-request.strict.locality=/rack1/node1}} would 
> create the following {{ResourceRequest}}'s:
> - resourceName=ANY, relaxLocality=false, capability=
> - resourceName=/rack1, relaxLocality=false, capability=
> - resourceName=node1, relaxLocality=true, capability=
> By default, the property would be unset, and you'd get the normal {{ANY}} 
> {{ResourceRequest}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org



[jira] [Updated] (MAPREDUCE-6871) Allow users to specify racks and nodes for strict locality for AMs

2017-03-29 Thread Robert Kanter (JIRA)

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

Robert Kanter updated MAPREDUCE-6871:
-
Status: Patch Available  (was: Open)

> Allow users to specify racks and nodes for strict locality for AMs
> --
>
> Key: MAPREDUCE-6871
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6871
> Project: Hadoop Map/Reduce
>  Issue Type: New Feature
>  Components: client
>Reporter: Robert Kanter
>Assignee: Robert Kanter
> Attachments: MAPREDUCE-6871.001.patch
>
>
> YARN-6050 fixed the YARN API to allow multiple {{ResourceRequest}}'s when 
> submitting an AM so that you can actually do rack or node locality.  We 
> should allow MapReduce users to take advantage of this by exposing this 
> functionality in some way.  The raw YARN API allows for a lot of flexibility 
> (e.g. different resources per request, etc), but we don't necessarily want to 
> allow the user to do too much here so they don't shoot themselves in the foot 
> and we don't make this overly complicated.  
> I propose we allow users to specify racks and nodes for strict locality.  
> This would allow users to restrict an MR AM to specific racks and/or nodes.  
> We could add a new property, 
> {{mapreduce.job.am.resource-request.strict.locality}}, which takes a 
> comma-separated list of entries like:
> - {{/}}
> - {{//}}
> - {{}} (assumes /default-rack)
> MapReduce would then use this information to create the corresponding 
> {{ResourceRequest}}'s.  
> For example, 
> {{mapreduce.job.am.resource-request.strict.locality=/rack1/node1}} would 
> create the following {{ResourceRequest}}'s:
> - resourceName=ANY, relaxLocality=false, capability=
> - resourceName=/rack1, relaxLocality=false, capability=
> - resourceName=node1, relaxLocality=true, capability=
> By default, the property would be unset, and you'd get the normal {{ANY}} 
> {{ResourceRequest}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org