Uploaded image for project: 'Apache YuniKorn'
  1. Apache YuniKorn
  2. YUNIKORN-2171

race between node removal and scheduling cycle

    XMLWordPrintableJSON

Details

    Description

      When a node gets removed the partition resources and thus the root max resources are decreased. The node removal locks the partition, removes the node and releases the partition lock before proceeding. Cleanup of the allocations happens after that. This means that for a short period of time the root queue max resources are already decreased while the usage is not.

      The scheduling cycle could be running during the node removal. The queue headroom calculation uses the queue max resources and usage to calculate the difference. The whole hierarchy is traversed for this.

      If the headroom is limited by the root queue then we could have a race between the removal of the node allocations and scheduling:

      • scheduling starts and queue headroom is calculated
      • node is removed, queue max is lowered
      • scheduling finds new allocation
      • new allocation gets added to the queue updating usage
      • root queue is over its max already or would go over max: scheduling fails
      • node allocation removal proceeds and corrects the queue usage

      Attachments

        Issue Links

          Activity

            People

              wilfreds Wilfred Spiegelenburg
              wilfreds Wilfred Spiegelenburg
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: