relate to the problem discussed in
YARN-1857. But the min method is flawed when we are using DRC. Have run into a real scenario in production where queueCapacity: <memory:1056256, vCores:3750>, qconsumed: <memory:1054720, vCores:361>, consumed: <memory:125952, vCores:170> limit: <memory:214016, vCores:755>. headRoom calculation returns 88064 where there is only 1536 left in the queue because DRC effectively compare by vcores. It then caused deadlock because RMcontainer allocator thought there is still space for mapper and won't preempt a reducer in a full queue to schedule a mapper. Propose fix with componentwiseMin.