[ https://issues.apache.org/jira/browse/YARN-9879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17009797#comment-17009797 ]
Peter Bacsko edited comment on YARN-9879 at 1/7/20 2:54 PM: ------------------------------------------------------------ [~wilfreds] based on your suggestion, here's what I came up with: We can still maintain the HashMap with queueName->CSQueue, however we'd use two levels: 1. Leaf queue -> full path 2. Full path -> CSQueue object We additionally need an extra map which tells whether a leaf queue is unique. So after some thinking, this is the semi-pseudocode that could possibly do the job: {noformat} Map<String, CSQueue> fullPathQueues; Map<String, String> leafToFullPath; Map<String, Boolean> leafUnique; public CSQueue getQueue(String queueName) { if (fullPathName(queueName)) { return queues.get(queueName); } else { if (leafUnique.get(queueName)) { String fullName = leafToFullPath.get(queueName); return queues.get(fullName); } else { throw new YarnException(queueName + " is not unique"); } } } {noformat} Obviously methods like {{addQueue()}}, {{removeQueue()}} should be updated too. was (Author: pbacsko): [~wilfreds] based on your suggestion, here's what I came up with: We can still maintain the HashMap with queueName->CSQueue, however we'd use two levels: 1. Leaf queue -> full path 2. Full path -> CSQueue object We additionally need an extra map which tells whether a leaf queue is unique. So after some thinking, this is the semi-pseudocode that could possibly do the job: {noformat} Map<String, CSQueue>fullPathQueues; Map<String, String> leafToFullPath; Map<String, Boolean> leafUnique; public CSQueue getQueue(String queueName) { if (fullPathName(queueName)) { return queues.get(queueName); } else { if (leafUnique.get(queueName)) { String fullName = leafToFullPath.get(queueName); return queues.get(fullName); } else { throw new YarnException(queueName + " is not unique"); } } } {noformat} Obviously methods like {{addQueue()}}, {{removeQueue()}} should be updated too. > Allow multiple leaf queues with the same name in CS > --------------------------------------------------- > > Key: YARN-9879 > URL: https://issues.apache.org/jira/browse/YARN-9879 > Project: Hadoop YARN > Issue Type: Sub-task > Reporter: Gergely Pollak > Assignee: Gergely Pollak > Priority: Major > Attachments: DesignDoc_v1.pdf > > > Currently the leaf queue's name must be unique regardless of its position in > the queue hierarchy. > Design doc and first proposal is being made, I'll attach it as soon as it's > done. -- 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