You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2018/05/03 00:01:07 UTC
[11/20] mesos git commit: Fixed a bug where quota headroom is tracked
incorrectly.
Fixed a bug where quota headroom is tracked incorrectly.
Only resources allocated towards a role's quota should be
subtracted from `requiredHeadroom`. In addition to this,
unreserved resources in the quota allocation stage may also
contain resources that a role does not have quota for, they
should not be subtracted from `requiredHeadroom`.
Review: https://reviews.apache.org/r/64792/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/2324ec88
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/2324ec88
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/2324ec88
Branch: refs/heads/1.4.x
Commit: 2324ec88686badfa854b3e3f233fa0dbbdfb0c1f
Parents: 3d04409
Author: Meng Zhu <mz...@mesosphere.io>
Authored: Thu Dec 21 17:27:30 2017 -0800
Committer: Benjamin Mahler <bm...@apache.org>
Committed: Wed May 2 16:44:15 2018 -0700
----------------------------------------------------------------------
src/master/allocator/mesos/hierarchical.cpp | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/2324ec88/src/master/allocator/mesos/hierarchical.cpp
----------------------------------------------------------------------
diff --git a/src/master/allocator/mesos/hierarchical.cpp b/src/master/allocator/mesos/hierarchical.cpp
index de6a7e2..dade4ae 100644
--- a/src/master/allocator/mesos/hierarchical.cpp
+++ b/src/master/allocator/mesos/hierarchical.cpp
@@ -1896,13 +1896,15 @@ void HierarchicalAllocatorProcess::__allocate()
offerable[frameworkId][role][slaveId] += resources;
offeredSharedResources[slaveId] += resources.shared();
- unsatisfiedQuota -= newQuotaAllocation.createStrippedScalarQuantity();
+ Resources newQuotaAllocationScalarQuantities =
+ newQuotaAllocation.createStrippedScalarQuantity();
+
+ unsatisfiedQuota -= newQuotaAllocationScalarQuantities;
// Track quota headroom change.
- Resources headroomDelta =
+ requiredHeadroom -= newQuotaAllocationScalarQuantities;
+ availableHeadroom -=
resources.unreserved().createStrippedScalarQuantity();
- requiredHeadroom -= headroomDelta;
- availableHeadroom -= headroomDelta;
// Update the tracking of allocated reservations.
//