[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224773#comment-17224773 ] Peter Bacsko commented on YARN-10458: - Test failures seem to be unrelated. [~leftnoteasy] I think you can commit the patch to branch-3.3. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Fix For: 3.4.0 > > Attachments: YARN-10458-001.patch, YARN-10458-002.patch, > YARN-10458-003.patch, YARN-10458-004.patch, YARN-10458-branch-3.3.001.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224657#comment-17224657 ] Hadoop QA commented on YARN-10458: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Logfile || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 29m 31s{color} | | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || || | {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m 0s{color} | | {color:green} No case conflicting files found. {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 3 new or modified test files. {color} | || || || || {color:brown} branch-3.3 Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 34m 18s{color} | | {color:green} branch-3.3 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 47s{color} | | {color:green} branch-3.3 passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 37s{color} | | {color:green} branch-3.3 passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 51s{color} | | {color:green} branch-3.3 passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 16m 53s{color} | | {color:green} branch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 32s{color} | | {color:green} branch-3.3 passed {color} | | {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 1m 43s{color} | | {color:blue} Used deprecated FindBugs config; considering switching to SpotBugs. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 41s{color} | | {color:green} branch-3.3 passed {color} | || || || || {color:brown} Patch Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 48s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 42s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 42s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} blanks {color} | {color:green} 0m 0s{color} | | {color:green} The patch has no blanks issues. {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 32s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 45s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 17m 50s{color} | | {color:green} patch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 53s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 55s{color} | | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || || | {color:red}-1{color} | {color:red} unit {color} | {color:red}102m 0s{color} | [/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt|https://ci-hadoop.apache.org/job/PreCommit-YARN-Build/280/artifact/out/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt] | {color:red} hadoop-yarn-server-resourcemanager in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 37s{color} | | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}210m 23s{color} | | {color:black}{color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.yarn.server.resourcemanager.TestRMHATimelineCollectors | | | hadoop.yarn.server.resourcemanager.security.TestDelegationTokenRenewer | | | hadoop.yarn.server.resourcemanager.scheduler.fair.TestFairSchedulerPreemption | \\ \\ || Subsystem || Report/Notes || | Docker | ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/PreCommit-YARN-Build/280/artifact/out/Dockerfile | | JIRA Issue | YARN-10458 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/13014569/YARN-10458-branch-3.3.0
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224551#comment-17224551 ] Peter Bacsko commented on YARN-10458: - I uploaded a patch to branch-3.3. Older branches don't contain the existing code (username from apptags), so it's the only branch which is worth backporting to. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Fix For: 3.4.0 > > Attachments: YARN-10458-001.patch, YARN-10458-002.patch, > YARN-10458-003.patch, YARN-10458-004.patch, YARN-10458-branch-3.3.001.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17223771#comment-17223771 ] Wangda Tan commented on YARN-10458: --- I just committed the patch to trunk, thanks [~anand.srinivasan] for reporting this issue and thanks [~pbacsko] for working on the patch. [~pbacsko] can you help to backport to corresponding branches? > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch, YARN-10458-002.patch, > YARN-10458-003.patch, YARN-10458-004.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17223764#comment-17223764 ] Hadoop QA commented on YARN-10458: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Logfile || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 1m 14s{color} | | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || || | {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m 0s{color} | | {color:green} No case conflicting files found. {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 3 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 22m 25s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 59s{color} | | {color:green} trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 50s{color} | | {color:green} trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 40s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 1m 4s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 19m 48s{color} | | {color:green} branch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 45s{color} | | {color:green} trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 43s{color} | | {color:green} trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 2m 10s{color} | | {color:blue} Used deprecated FindBugs config; considering switching to SpotBugs. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 8s{color} | | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 53s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 5s{color} | | {color:green} the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 5s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 48s{color} | | {color:green} the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 48s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} blanks {color} | {color:green} 0m 0s{color} | | {color:green} The patch has no blanks issues. {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 31s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 48s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 18m 4s{color} | | {color:green} patch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 36s{color} | | {color:green} the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 33s{color} | | {color:green} the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 55s{color} | | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 96m 5s{color} | [/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt|https://ci-ha
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17223735#comment-17223735 ] Wangda Tan commented on YARN-10458: --- +1, thanks [~pbacsko], will get it committed later today. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch, YARN-10458-002.patch, > YARN-10458-003.patch, YARN-10458-004.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17223683#comment-17223683 ] Peter Bacsko commented on YARN-10458: - [~leftnoteasy] please review patch v4, it should be good as a final version. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch, YARN-10458-002.patch, > YARN-10458-003.patch, YARN-10458-004.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17223657#comment-17223657 ] Hadoop QA commented on YARN-10458: -- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Logfile || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 1m 17s{color} | | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || || | {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m 0s{color} | | {color:green} No case conflicting files found. {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 3 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 21m 58s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 1s{color} | | {color:green} trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 49s{color} | | {color:green} trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 36s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 52s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 17m 36s{color} | | {color:green} branch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 38s{color} | | {color:green} trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 36s{color} | | {color:green} trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 1m 46s{color} | | {color:blue} Used deprecated FindBugs config; considering switching to SpotBugs. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 44s{color} | | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 49s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 54s{color} | | {color:green} the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 54s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 43s{color} | | {color:green} the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 43s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} blanks {color} | {color:green} 0m 0s{color} | | {color:green} The patch has no blanks issues. {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 30s{color} | [/results-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt|https://ci-hadoop.apache.org/job/PreCommit-YARN-Build/274/artifact/out/results-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt] | {color:orange} hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager: The patch generated 1 new + 203 unchanged - 0 fixed = 204 total (was 203) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 46s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 18m 18s{color} | | {color:green} patch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 46s{color} | | {color:green} the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 42s{color} | | {color:green} the patch passed with JDK Priva
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17223564#comment-17223564 ] Peter Bacsko commented on YARN-10458: - Many thanks [~wangda]. The test works with the proposed changes. Uploaded patch v3. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch, YARN-10458-002.patch, > YARN-10458-003.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17223117#comment-17223117 ] Wangda Tan commented on YARN-10458: --- [~pbacsko], there're two issues in the test, one is setup NodelabelManager after RM created, it somehow didn't get the right label manager (I didn't do further troubleshooting), the correct way to do it is: {code:java} MockRM rm = new MockRM(csConf) { @Override public RMNodeLabelsManager createNodeLabelManager() { return mgr; } }; {code} The label manager is used by scheduler to correctly calculate effective resources: *org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.AutoCreatedLeafQueue#mergeCapacities* {code:java} Resource resourceByLabel = labelManager.getResourceByLabel(nodeLabel, csContext.getClusterResource()); {code} So it causes the app cannot move to RUNNING because effective is always 0. Second issue is, you called a nodeHearbeat before launchAndRegisterAM, it makes app attempt advanced to ALLOCATED state instead of SCHEDULED state. after removed the hearbeat call, it works fine now. Please add more checks for the queue creation, and I suggest to move this test to TestCapacitySchedulerAutoQUeueCreation. A good resource to reference to is tests inside `TestNodeLabelContainerAllocation` if you write a test, reference to TestNodeLabelContainerAllocation will be a good starting point. Here's full test code after changes I made: {code:java} @Test public void testAccessCheckOfNonExistingDynamicQueueWithTags() throws Exception { CapacitySchedulerConfiguration csConf = new CapacitySchedulerConfiguration(); csConf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b"}); csConf.setCapacity("root.a", 90); csConf.setCapacity("root.b", 10); csConf.set("yarn.scheduler.capacity.resource-calculator", "org.apache.hadoop.yarn.util.resource.DominantResourceCalculator"); csConf.setAutoCreateChildQueueEnabled("root.a", true); csConf.setAutoCreatedLeafQueueConfigCapacity("root.a", 50); csConf.setAutoCreatedLeafQueueConfigMaxCapacity("root.a", 100); csConf.set(CapacitySchedulerConfiguration.MAXIMUM_APPLICATION_MASTERS_RESOURCE_PERCENT, "0.5"); csConf.setAcl("root.a", QueueACL.ADMINISTER_QUEUE, "*"); csConf.setAcl("root.a", QueueACL.SUBMIT_APPLICATIONS, "*"); csConf.setBoolean(YarnConfiguration .APPLICATION_TAG_BASED_PLACEMENT_ENABLED, true); csConf.setStrings(YarnConfiguration .APPLICATION_TAG_BASED_PLACEMENT_USER_WHITELIST, "hadoop"); csConf.set(CapacitySchedulerConfiguration.QUEUE_MAPPING, "u:%user:root.a.%user"); csConf.setInt("yarn.scheduler.minimum-allocation-mb", 1024); csConf.setInt("yarn.scheduler.minimum-allocation-vcores", 1); YarnConfiguration conf=new YarnConfiguration(csConf); conf.setClass(YarnConfiguration.RM_SCHEDULER, CapacityScheduler.class, ResourceScheduler.class); RMNodeLabelsManager mgr = new NullRMNodeLabelsManager(); mgr.init(conf); MockRM rm = new MockRM(csConf) { @Override public RMNodeLabelsManager createNodeLabelManager() { return mgr; } }; rm.start(); MockNM nm = rm.registerNode("127.0.0.1:1234", 16 * GB); MockRMAppSubmissionData data = MockRMAppSubmissionData.Builder.createWithMemory(GB, rm) .withAppName("apptodynamicqueue") .withUser("hadoop") .withAcls(null) .withUnmanagedAM(false) .withApplicationTags(Sets.newHashSet("userid=testuser")) .build(); RMApp app = MockRMAppSubmitter.submit(rm, data); MockRM.launchAndRegisterAM(app, rm, nm); // stuck in SCHEDULED state nm.nodeHeartbeat(true); }{code} > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch, YARN-10458-002.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17222860#comment-17222860 ] Peter Bacsko commented on YARN-10458: - [~wangda] I created a test case with MockRM and MockNM but I have a little bit of a problem. For some reason, the submitted application doesn't reach RUNNING state, it' stuck in SCHEDULED. I tried to dig deeper but got confused about all kinds of resource calculations. The access check passes, so there's no problem there, but why can't the application start? Here is the testcase which I added to {{TestCapacityScheduler.java}} {noformat} import org.apache.hadoop.yarn.api.records.QueueACL; ... @Test public void testAccessCheckOfNonExistingDynamicQueueWithTags() throws Exception { CapacitySchedulerConfiguration csConf = new CapacitySchedulerConfiguration(); csConf.setQueues(CapacitySchedulerConfiguration.ROOT, new String[] {"a", "b"}); csConf.setCapacity("root.a", 90); csConf.setCapacity("root.b", 10); csConf.set("yarn.scheduler.capacity.resource-calculator", "org.apache.hadoop.yarn.util.resource.DominantResourceCalculator"); csConf.setAutoCreateChildQueueEnabled("root.a", true); csConf.setAutoCreatedLeafQueueConfigCapacity("root.a", 50); csConf.setAutoCreatedLeafQueueConfigMaxCapacity("root.a", 100); csConf.set(CapacitySchedulerConfiguration.MAXIMUM_APPLICATION_MASTERS_RESOURCE_PERCENT, "0.5"); csConf.setAcl("root.a", QueueACL.ADMINISTER_QUEUE, "*"); csConf.setAcl("root.a", QueueACL.SUBMIT_APPLICATIONS, "*"); csConf.setBoolean(YarnConfiguration .APPLICATION_TAG_BASED_PLACEMENT_ENABLED, true); csConf.setStrings(YarnConfiguration .APPLICATION_TAG_BASED_PLACEMENT_USER_WHITELIST, "hadoop"); csConf.set(CapacitySchedulerConfiguration.QUEUE_MAPPING, "u:%user:root.a.%user"); csConf.setInt("yarn.scheduler.minimum-allocation-mb", 1024); csConf.setInt("yarn.scheduler.minimum-allocation-vcores", 1); YarnConfiguration conf=new YarnConfiguration(csConf); conf.setClass(YarnConfiguration.RM_SCHEDULER, CapacityScheduler.class, ResourceScheduler.class); RMNodeLabelsManager mgr=new NullRMNodeLabelsManager(); mgr.init(conf); MockRM rm = new MockRM(csConf); rm.getRMContext().setNodeLabelManager(mgr); rm.start(); MockNM nm = rm.registerNode("127.0.0.1:1234", 16 * GB); MockRMAppSubmissionData data = MockRMAppSubmissionData.Builder.createWithMemory(GB, rm) .withAppName("apptodynamicqueue") .withUser("hadoop") .withAcls(null) .withUnmanagedAM(false) .withApplicationTags(Sets.newHashSet("userid=testuser")) .build(); RMApp app = MockRMAppSubmitter.submit(rm, data); nm.nodeHeartbeat(true); MockRM.launchAndRegisterAM(app, rm, nm); // stuck in SCHEDULED state } {noformat} As you can see, the mapped queue becomes "root.a.testuser" and it gets created but can't run applications. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch, YARN-10458-002.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17222114#comment-17222114 ] Peter Bacsko commented on YARN-10458: - [~leftnoteasy] I'll add another test case for that. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch, YARN-10458-002.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17221697#comment-17221697 ] Hadoop QA commented on YARN-10458: -- | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Logfile || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 1m 40s{color} | | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || || | {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m 0s{color} | | {color:green} No case conflicting files found. {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} trunk Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 24m 5s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 1s{color} | | {color:green} trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 56s{color} | | {color:green} trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 37s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 57s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 17m 38s{color} | | {color:green} branch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 40s{color} | | {color:green} trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s{color} | | {color:green} trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 2m 3s{color} | | {color:blue} Used deprecated FindBugs config; considering switching to SpotBugs. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 0s{color} | | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 58s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 1s{color} | | {color:green} the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 1s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 52s{color} | | {color:green} the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 52s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} blanks {color} | {color:green} 0m 0s{color} | | {color:green} The patch has no blanks issues. {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 34s{color} | [/results-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt|https://ci-hadoop.apache.org/job/PreCommit-YARN-Build/255/artifact/out/results-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt] | {color:orange} hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager: The patch generated 4 new + 180 unchanged - 0 fixed = 184 total (was 180) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 54s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 18m 5s{color} | | {color:green} patch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 38s{color} | | {color:green} the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 34s{color} | | {color:green} the patch passed with JDK Priva
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17221616#comment-17221616 ] Wangda Tan commented on YARN-10458: --- It looks good to me, the only question/ask is since this issue occurred when we have queue placement based on app tag userid + queue auto creation, can we make sure either a test added for that (preferred), we need definitely set up a single node cluster and make sure it works in the scenario. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch, YARN-10458-002.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17220847#comment-17220847 ] Peter Bacsko commented on YARN-10458: - Ok, *in theory* there's always a parent, but {{getQueue()}} only returns the leaf name, not the entire path. The only case where it's null when the defined queue is "root". So it's a corner case, but it could happen, so I'd keep it just to be sure. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17220823#comment-17220823 ] Peter Bacsko commented on YARN-10458: - [~wangda] thanks, I'll check if it's always the full path. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17220808#comment-17220808 ] Wangda Tan commented on YARN-10458: --- [~pbacsko], Thanks for working on the patch, I'm trying to understand if {{929 String queue = appPlacementContext.getQueue();}} always returns relative queue path, if no, the below logic could be wrong: {code:java} 931 if (parent != null) { 932queue = parent + "." + queue; 933 } {code} And do we always have full qualified queue path in the queue mapping setting? {code:java} 2295 // can only check proper ACLs if the path is fully qualified 2296 while (queue == null || !queueName.equals("root")) { {code} I don't fully remember this part of logic. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17220780#comment-17220780 ] Hadoop QA commented on YARN-10458: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Logfile || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 2m 20s{color} | | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || || | {color:green}+1{color} | {color:green} dupname {color} | {color:green} 0m 1s{color} | | {color:green} No case conflicting files found. {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:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s{color} | | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | || || || || {color:brown} trunk Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 26m 25s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 7s{color} | | {color:green} trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 55s{color} | | {color:green} trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 39s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 58s{color} | | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 19m 24s{color} | | {color:green} branch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 41s{color} | | {color:green} trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 39s{color} | | {color:green} trunk passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:blue}0{color} | {color:blue} spotbugs {color} | {color:blue} 2m 0s{color} | | {color:blue} Used deprecated FindBugs config; considering switching to SpotBugs. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 58s{color} | | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 54s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 55s{color} | | {color:green} the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 55s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 53s{color} | | {color:green} the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 53s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} blanks {color} | {color:green} 0m 0s{color} | | {color:green} The patch has no blanks issues. {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 31s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 52s{color} | | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 18m 5s{color} | | {color:green} patch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 36s{color} | | {color:green} the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 33s{color} | | {color:green} the patch passed with JDK Private Build-1.8.0_265-8u265-b01-0ubuntu2~18.04-b01 {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 58s{color} | | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 94m 57s
[jira] [Commented] (YARN-10458) Hive On Tez queries fails upon submission to dynamically created pools
[ https://issues.apache.org/jira/browse/YARN-10458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17220668#comment-17220668 ] Peter Bacsko commented on YARN-10458: - [~leftnoteasy] [~anand.srinivasan] could you guys take a look at the proposed changes? In the meantime, I'm waiting for the Jenkins build to get a confirmation about the approach being safe, then I'll add some new unit tests. > Hive On Tez queries fails upon submission to dynamically created pools > -- > > Key: YARN-10458 > URL: https://issues.apache.org/jira/browse/YARN-10458 > Project: Hadoop YARN > Issue Type: Bug > Components: resourcemanager >Reporter: Anand Srinivasan >Assignee: Peter Bacsko >Priority: Major > Attachments: YARN-10458-001.patch > > > While using Dynamic Auto-Creation and Management of Leaf Queues, we could see > that the queue creation fails because ACL submit application check couldn't > succeed. > We tried setting acl_submit_applications to '*' for managed parent queues. > For static queues, this worked but failed for dynamic queues. Also tried > setting the below property but it didn't help either. > yarn.scheduler.capacity.root.parent-queue-name.leaf-queue-template.acl_submit_applications=*. > RM error log shows the following : > 2020-09-18 01:08:40,579 INFO > org.apache.hadoop.yarn.server.resourcemanager.placement.UserGroupMappingPlacementRule: > Application application_1600399068816_0460 user user1 mapping [default] to > [queue1] override false > 2020-09-18 01:08:40,579 WARN > org.apache.hadoop.yarn.server.resourcemanager.RMAppManager: User 'user1' from > application tag does not have access to queue 'user1'. The placement is done > for user 'hive' > > Checking the code, scheduler#checkAccess() bails out even before checking the > ACL permissions for that particular queue because the CSQueue is null. > {code:java} > public boolean checkAccess(UserGroupInformation callerUGI, > QueueACL acl, String queueName) { > CSQueue queue = getQueue(queueName); > if (queue == null) { > if (LOG.isDebugEnabled()) > { LOG.debug("ACL not found for queue access-type " + acl + " for queue " + > queueName); } > return false;*<-- the method returns false here.* > } > return queue.hasAccess(acl, callerUGI); > } > {code} > As this is an auto created queue, CSQueue may be null in this case. May be > scheduler#checkAccess() should have a logic to differentiate when CSQueue is > null and if queue mapping is involved and if so, check if the parent queue > exists and is a managed parent and if so, check if the parent queue has valid > ACL's instead of returning false ? > Thanks -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org