Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-5139 [Umbrella] Move YARN scheduler towards global scheduler
  3. YARN-10259

Reserved Containers not allocated from available space of other nodes in CandidateNodeSet in MultiNodePlacement

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.2.0, 3.3.0
    • 3.4.0, 3.3.1
    • capacityscheduler
    • None

    Description

      Reserved Containers are not allocated from the available space of other nodes in CandidateNodeSet in MultiNodePlacement.

      Repro:

      1. MultiNode Placement Enabled.
      2. Two nodes h1 and h2 with 8GB
      3. Submit app1 AM (5GB) which gets placed in h1 and app2 AM (5GB) which gets placed in h2.
      4. Submit app3 AM which is reserved in h1
      5. Kill app2 which frees space in h2.
      6. app3 AM never gets ALLOCATED

      RM logs shows YARN-8127 fix rejecting the allocation proposal for app3 AM on h2 as it expects the assignment to be on same node where reservation has happened.

      2020-05-05 18:49:37,264 DEBUG [AsyncDispatcher event handler] scheduler.SchedulerApplicationAttempt (SchedulerApplicationAttempt.java:commonReserve(573)) - Application attempt appattempt_1588684773609_0003_000001 reserved container container_1588684773609_0003_01_000001 on node host: h1:1234 #containers=1 available=<memory:3072, vCores:7> used=<memory:5120, vCores:1>. This attempt currently has 1 reserved containers at priority 0; currentReservation <memory:5120, vCores:1>
      
      2020-05-05 18:49:37,264 INFO  [AsyncDispatcher event handler] fica.FiCaSchedulerApp (FiCaSchedulerApp.java:apply(670)) - Reserved container=container_1588684773609_0003_01_000001, on node=host: h1:1234 #containers=1 available=<memory:3072, vCores:7> used=<memory:5120, vCores:1> with resource=<memory:5120, vCores:1>
      	 RESERVED=[(Application=appattempt_1588684773609_0003_000001; Node=h1:1234; Resource=<memory:5120, vCores:1>)]
      	 
      2020-05-05 18:49:38,283 DEBUG [Time-limited test] allocator.RegularContainerAllocator (RegularContainerAllocator.java:assignContainer(514)) - assignContainers: node=h2 application=application_1588684773609_0003 priority=0 pendingAsk=<per-allocation-resource=<memory:5120, vCores:1>,repeat=1> type=OFF_SWITCH
      
      2020-05-05 18:49:38,285 DEBUG [Time-limited test] fica.FiCaSchedulerApp (FiCaSchedulerApp.java:commonCheckContainerAllocation(371)) - Try to allocate from reserved container container_1588684773609_0003_01_000001, but node is not reserved
      	 ALLOCATED=[(Application=appattempt_1588684773609_0003_000001; Node=h2:1234; Resource=<memory:5120, vCores:1>)]
      

      Attached testcase which reproduces the issue.

      Attachments

        1. YARN-10259-001.patch
          15 kB
          Prabhu Joseph
        2. YARN-10259-002.patch
          12 kB
          Prabhu Joseph
        3. YARN-10259-003.patch
          12 kB
          Prabhu Joseph

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: