[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-31 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16347114#comment-16347114
 ] 

Hudson commented on YARN-7774:
--

SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #13589 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/13589/])
YARN-7774. Miscellaneous fixes to the PlacementProcessor. (asuresh) (arun 
suresh: rev 28fe7f331837b36e78fa34ed990993677dddeaee)
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/placement/SingleConstraintAppPlacementAllocator.java
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/placement/TestSingleConstraintAppPlacementAllocator.java
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/constraint/processor/BatchedRequests.java
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/constraint/algorithm/DefaultPlacementAlgorithm.java
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/constraint/PlacementConstraintsUtil.java
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/constraint/TestPlacementProcessor.java
* (add) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/constraint/algorithm/CircularIterator.java
* (add) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/constraint/algorithm/TestCircularIterator.java
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockAM.java
* (edit) 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/SchedulerNode.java


> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Fix For: YARN-6592
>
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch, YARN-7774-YARN-6592.005.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Sunil G (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333135#comment-16333135
 ] 

Sunil G commented on YARN-7774:
---

Makes sense. Sorry, I missed that one. Could you also update the exception in 
the same block, though maxCardinality check is != 0, exception message still 
says != 1 in {{SingleConstraintAppPlacementAllocator}}. If any Jiras are abt to 
commit, we can get this in or ll file a trivial one later.

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Fix For: YARN-6592
>
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch, YARN-7774-YARN-6592.005.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Arun Suresh (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333132#comment-16333132
 ] 

Arun Suresh commented on YARN-7774:
---

[~sunilg], so, do take a look at [this 
comment|https://issues.apache.org/jira/browse/YARN-7774?focusedCommentId=16331286&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16331286].
 As per that, the max cardinality is the cardinality the constraint satisfier 
will see BEFORE the placing the container.

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Fix For: YARN-6592
>
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch, YARN-7774-YARN-6592.005.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Sunil G (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333127#comment-16333127
 ] 

Sunil G commented on YARN-7774:
---

A quick doubt. {{SingleConstraintAppPlacementAllocator}} why maxCardinality 
validation is changed from 1 to 0?

 

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Fix For: YARN-6592
>
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch, YARN-7774-YARN-6592.005.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Weiwei Yang (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333121#comment-16333121
 ] 

Weiwei Yang commented on YARN-7774:
---

Hi [~asuresh], that sounds good to me. +1 on latest patch. I will try more 
tests when this one gets in, and file JIRAs if I found any issue or improvement 
can be made. Thank you.

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch, YARN-7774-YARN-6592.005.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Arun Suresh (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333097#comment-16333097
 ] 

Arun Suresh commented on YARN-7774:
---

The test case error is unrelated. [~Weiwei Yang] , [~kkaranasos] , can we move 
forward with the latest patch? Happy to file subsequent JIRAs for anything 
specific.

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch, YARN-7774-YARN-6592.005.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread genericqa (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332945#comment-16332945
 ] 

genericqa commented on YARN-7774:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
17s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 4 new or modified test 
files. {color} |
|| || || || {color:brown} YARN-6592 Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 14m 
55s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
35s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
23s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green}  0m 
38s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} shadedclient {color} | {color:green}  
9m 30s{color} | {color:green} branch has no errors when building and testing 
our client artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  0m 
59s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
24s{color} | {color:green} YARN-6592 passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
38s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
33s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
33s{color} | {color:green} the patch passed {color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 21s{color} | {color:orange} 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager:
 The patch generated 2 new + 115 unchanged - 0 fixed = 117 total (was 115) 
{color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green}  0m 
36s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedclient {color} | {color:green}  
9m 38s{color} | {color:green} patch has no errors when building and testing our 
client artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m  
5s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
20s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 75m 59s{color} 
| {color:red} hadoop-yarn-server-resourcemanager in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
18s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}116m 56s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.yarn.server.resourcemanager.TestRMEmbeddedElector 
|
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hadoop:5b98639 |
| JIRA Issue | YARN-7774 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12906882/YARN-7774-YARN-6592.005.patch
 |
| Optional Tests |  asflicense  compile  javac  javadoc  mvninstall  mvnsite  
unit  shadedclient  findbugs  checkstyle  |
| uname | Linux 655580a91755 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 20 
11:50:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /testptch/patchprocess/precommit/personality/provided.sh |
| git revision | YARN-6592 / 27fa101 |
| maven | version: Apache Maven 3.3.9 |
| Default Java | 1.8.0_151 |
| findbugs | v3.1.0-RC1 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-YARN-Build/19354/artifact/out/diff-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
 |
| unit | 
https://builds.apache.org/job/PreCommit-YARN-Build/19354/artifact/out/patch-unit-hadoop-

[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Arun Suresh (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332847#comment-16332847
 ] 

Arun Suresh commented on YARN-7774:
---

Updating patch

* Moved circular iterator to its own class
* The algorithm follows the scheme I mentioned in my previous comment. It will 
try the last satisfied node before checking the next node in the iteration.
* Fixed the tests. The {{TestContinuousScheduling}} is unrelated and works fine 
for me.

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch, YARN-7774-YARN-6592.005.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Arun Suresh (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332708#comment-16332708
 ] 

Arun Suresh commented on YARN-7774:
---

Thanks for the comments [~kkaranasos] and [~cheersyang].

bq. CircularIterator looks to be general enough and deserves its own class with 
a generic type, it can be moved to common package..
Will do - i had initially done that. Only issue was we need the element to 
implement equals, which the SchedulerNode does not (I had to explicitly get the 
nodeId from the schedulerNode and compare it :)) - But yeah, Ill move to a 
different class, and that way I can put in some unit tests.

bq. it mean the second allocation can only be made after it iterates all nodes 
again? This algorithm doesn't seem to be affinity friendly.
Yup, I did consider that. My thought process was: Given that anti-affinity will 
probably be used more often, and even if affinity is used - we've come across 
more use cases for RACK and label affinity, than node affinity - Both these 
cases are served better with the CircularIterator.

bq. Do we really need the CircularIterator? It seems to me that you can have a 
normal iterator initialized outside the for loop and then each time 
hasNext()=false, you can re-initialize it. But maybe I am missing something
Yeah, its mostly equivalant (we also need to record the starting element), but 
I did not want to clutter the the main loop of the code with additional 
variables etc., abstracting out to a different class looked cleaner.

Regarding using the minCardinality > 0 check anti affinity:
Instead of looking at the mincardinalty, I was thinking the following scheme 
would be efficient for both node-affinity as well as anti-affinity. If a 
SchedulingRequest has been placed on a node, and if there are more Requests, 
then instead of initializing the circularIterator from the next node, we 
initialize it starting from the CURRENT node. That way, if the next request (or 
even if the previous req has numAllocations > 1) the just-placed-node will be 
the first candidate - It will also not severely impact anti-affinity placement, 
since only a single previously considered node will be re-considered before 
moving on to the rest of the cluster. Makes sense ?

bq. Do we clean up the black list for each tag? It seems that black-listing can 
change based on the allocations that have been done so far, so we might need to 
use it carefully.
The blackists are not persistent - they only hang around time the max retries 
are completed - after which both the requests and the blacklists are discarded.

 

 

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Konstantinos Karanasos (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16331969#comment-16331969
 ] 

Konstantinos Karanasos commented on YARN-7774:
--

Thanks [~asuresh] for the patch. Looks good overall, some comments:
 * Do we really need the CircularIterator? It seems to me that you can have a 
normal iterator initialized outside the for loop and then each time 
hasNext()=false, you can re-initialize it. But maybe I am missing something.
 * For what [~cheersyang] mentioned about not being affinity friendly, you 
could make a check whether the constraint has minCardinality>0 and scope=NODE, 
and then keep the iterator at the same place in such a case. But if you feel it 
is an over-optimization for the time being, I am fine tackling it in another 
JIRA. Up to you.
 * Do we clean up the black list for each tag? It seems that black-listing can 
change based on the allocations that have been done so far, so we might need to 
use it carefully.

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-19 Thread Weiwei Yang (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16331868#comment-16331868
 ] 

Weiwei Yang commented on YARN-7774:
---

Hi [~asuresh]

In \{{DefaultPlacementAlgorithm}}, for each SchedulingRequest, it iterates over 
available nodes and each time it attempts to allocate one allocation on a node, 
then go to next node. Imagine the request asks for 2 allocations affinity on 
same node, does it mean the second allocation can only be made after it 
iterates all nodes again? This algorithm doesn't seem to be affinity friendly.

{\{CircularIterator}} looks to be general enough and deserves its own class 
with a generic type, it can be moved to common package. Also it would be good 
to add some test case for it. It doesn't have to be done in this patch. Just a 
suggestion.

Hope this helps. Thanks

> Miscellaneous fixes to the PlacementProcessor
> -
>
> Key: YARN-7774
> URL: https://issues.apache.org/jira/browse/YARN-7774
> Project: Hadoop YARN
>  Issue Type: Sub-task
>Reporter: Arun Suresh
>Assignee: Arun Suresh
>Priority: Blocker
> Attachments: YARN-7774-YARN-6592.001.patch, 
> YARN-7774-YARN-6592.002.patch, YARN-7774-YARN-6592.003.patch, 
> YARN-7774-YARN-6592.004.patch
>
>
> JIRA to track the following minor changes:
> * Scheduler must normalize requests that are made using the 
> {{attemptAllocationOnNode}} method.
> * Currently, the placement algorithm resets the node iterator for each 
> request. The Placement Algorithm should either shuffle the node iterator OR 
> use a circular iterator - to ensure a) more nodes are looked at and b) bias 
> against placing too many containers on the same node
> * Add a placement retry loop for rejected requests - since there are cases 
> especially, when Constraints will be satisfied after a subsequent request has 
> been placed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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



[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-18 Thread genericqa (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16331852#comment-16331852
 ] 

genericqa commented on YARN-7774:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  9m 
57s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 2 new or modified test 
files. {color} |
|| || || || {color:brown} YARN-6592 Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 21m 
 0s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  
2s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
43s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green}  1m  
8s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 
13m 28s{color} | {color:green} branch has no errors when building and testing 
our client artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
19s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
28s{color} | {color:green} YARN-6592 passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
43s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
35s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
35s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
25s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green}  0m 
43s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 
11m 10s{color} | {color:green} patch has no errors when building and testing 
our client artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
10s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
22s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 59m 52s{color} 
| {color:red} hadoop-yarn-server-resourcemanager in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
22s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}123m 32s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | 
hadoop.yarn.server.resourcemanager.scheduler.capacity.TestCapacitySchedulerSchedulingRequestUpdate
 |
|   | 
hadoop.yarn.server.resourcemanager.scheduler.placement.TestSingleConstraintAppPlacementAllocator
 |
|   | 
hadoop.yarn.server.resourcemanager.scheduler.fair.TestContinuousScheduling |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hadoop:5b98639 |
| JIRA Issue | YARN-7774 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12906767/YARN-7774-YARN-6592.004.patch
 |
| Optional Tests |  asflicense  compile  javac  javadoc  mvninstall  mvnsite  
unit  shadedclient  findbugs  checkstyle  |
| uname | Linux 758dcb3d77cb 3.13.0-133-generic #182-Ubuntu SMP Tue Sep 19 
15:49:21 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /testptch/patchprocess/precommit/personality/provided.sh |
| git revision | YARN-6592 / 27fa101 |
| maven | version: Apache Maven 3.3.9 |
| Default Java | 1.8.0_151 |
| findbugs | v3.1.0-RC1 |
| unit | 
https://builds.apache.org/job/PreCommit-YARN-Build/19344/artifact/out/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
 |
|  Test Results | 
http

[jira] [Commented] (YARN-7774) Miscellaneous fixes to the PlacementProcessor

2018-01-18 Thread genericqa (JIRA)

[ 
https://issues.apache.org/jira/browse/YARN-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16331835#comment-16331835
 ] 

genericqa commented on YARN-7774:
-

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m 
21s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green}  0m 
 0s{color} | {color:green} The patch appears to include 2 new or modified test 
files. {color} |
|| || || || {color:brown} YARN-6592 Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 15m 
 6s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
36s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
24s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green}  0m 
39s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} shadedclient {color} | {color:green}  
9m 40s{color} | {color:green} branch has no errors when building and testing 
our client artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m  
0s{color} | {color:green} YARN-6592 passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
22s{color} | {color:green} YARN-6592 passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  0m 
38s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
33s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
33s{color} | {color:green} the patch passed {color} |
| {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange}  
0m 24s{color} | {color:orange} 
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager:
 The patch generated 7 new + 109 unchanged - 0 fixed = 116 total (was 109) 
{color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green}  0m 
36s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 
10m  8s{color} | {color:green} patch has no errors when building and testing 
our client artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m  
9s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
23s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 65m 33s{color} 
| {color:red} hadoop-yarn-server-resourcemanager in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
20s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}107m 45s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | 
hadoop.yarn.server.resourcemanager.scheduler.capacity.TestCapacitySchedulerSchedulingRequestUpdate
 |
|   | 
hadoop.yarn.server.resourcemanager.scheduler.placement.TestSingleConstraintAppPlacementAllocator
 |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hadoop:5b98639 |
| JIRA Issue | YARN-7774 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12906766/YARN-7774-YARN-6592.003.patch
 |
| Optional Tests |  asflicense  compile  javac  javadoc  mvninstall  mvnsite  
unit  shadedclient  findbugs  checkstyle  |
| uname | Linux aef862c32295 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 20 
11:50:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /testptch/patchprocess/precommit/personality/provided.sh |
| git revision | YARN-6592 / 27fa101 |
| maven | version: Apache Maven 3.3.9 |
| Default Java | 1.8.0_151 |
| findbugs | v3.1.0-RC1 |
| checkstyle | 
https://builds.apache.org/job/PreCommit-YARN-Build/19343/artifact/out/diff-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-ya