Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-9925

CapacitySchedulerQueueManager allows unsupported Queue hierarchy

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 3.3.0
    • None
    • capacityscheduler
    • None
    • Currently, CapacityScheduler does not allow two queues with same name irrespective of hierarchy or position. For example, root.a.a1 and root.b.a1 are not allowed. root.a.b.c and root.a.d.b.e are not allowed.

    Description

      CapacitySchedulerQueueManager allows unsupported Queue hierarchy. When creating a queue with same name as an existing parent queue name - it has to fail with below.

      Caused by: java.io.IOException: A is moved from:root.A to:root.B.A after refresh, which is not allowed.Caused by: java.io.IOException: A is moved from:root.A to:root.B.A after refresh, which is not allowed. at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerQueueManager.validateQueueHierarchy(CapacitySchedulerQueueManager.java:335) at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerQueueManager.reinitializeQueues(CapacitySchedulerQueueManager.java:180) at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.reinitializeQueues(CapacityScheduler.java:762) at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.reinitialize(CapacityScheduler.java:473) ... 70 more 
      

      In Some cases, the error is not thrown while creating the queue but thrown at submission of job "Failed to submit application_1571677375269_0002 to YARN : Application application_1571677375269_0002 submitted by user : systest to non-leaf queue : B"

      Below scenarios are allowed but it should not

      It allows root.A.A1.B when root.B.B1 already exists.
         
      1. Add root.A
      2. Add root.A.A1
      3. Add root.B
      4. Add root.B.B1
      5. Allows Add of root.A.A1.B 
      
      It allows two root queues:
         
      1. Add root.A
      2. Add root.B
      3. Add root.A.A1
      4. Allows Add of root.A.A1.root
      	 
      

      Below scenario is handled properly:

      It does not allow root.B.A when root.A.A1 already exists.
           
      1. Add root.A
      2. Add root.B
      3. Add root.A.A1
      4. Does not Allow Add of root.B.A
      

      This error handling has to be consistent in all scenarios.

      Attachments

        1. YARN-9925-001.patch
          2 kB
          Prabhu Joseph
        2. YARN-9925-002.patch
          2 kB
          Prabhu Joseph
        3. YARN-9925-003.patch
          2 kB
          Prabhu Joseph
        4. YARN-9925-004.patch
          5 kB
          Prabhu Joseph
        5. YARN-9925-005.patch
          5 kB
          Prabhu Joseph

        Issue Links

          Activity

            People

              prabhujoseph Prabhu Joseph
              prabhujoseph Prabhu Joseph
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: