[ https://issues.apache.org/jira/browse/YARN-3764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14571473#comment-14571473 ]
Wangda Tan commented on YARN-3764: ---------------------------------- CS's reinitialize logic creates new queues, but only copies configuration properties to old queue, and new queue will be discarded after reinitialization. A comprehensive fix for this is, copy old queue's run time information to new queue, including runningApplications, etc. And discard old queue after reinitialization. A short term fix is don't allow remove queue under parentQueue. IAW, CS will throw exception if a LeafQueue is moved from one parent to another. I prefer to do comprehensive fix for 2.8.0, and short term fix for 2.7.1/2.6.1 (if required). Thoughts? > CapacityScheduler should properly handle moving LeafQueue from one parent to > another > ------------------------------------------------------------------------------------ > > Key: YARN-3764 > URL: https://issues.apache.org/jira/browse/YARN-3764 > Project: Hadoop YARN > Issue Type: Bug > Reporter: Wangda Tan > Assignee: Wangda Tan > Priority: Blocker > > Currently CapacityScheduler doesn't handle the case well, for example: > A queue structure: > {code} > root > | > a (100) > / \ > x y > (50) (50) > {code} > And reinitialize using following structure: > {code} > root > / \ > (50)a x (50) > | > y > (100) > {code} > The actual queue structure after reinitialize is: > {code} > root > / \ > a (50) x (50) > / \ > x y > (50) (100) > {code} > We should handle this case better. -- This message was sent by Atlassian JIRA (v6.3.4#6332)