mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 05:50:55 +01:00
No description
62360ea406
Summary: Ref T13677. Currently, one lease may cause multiple resources to allocate simultaneously if it starts allocating one, then wakes up from a yield later on and still sees no available resources. This is never desired -- or, at least, produces desirable behavior only entirely by accident. Normally, it causes an excess of resources to allocate. This is not a catastrophic problem: the extra resources usually get used sooner or later or cleaned up; and the total amount of badness is limited by overall resource allocation limits. However, this behavior is also suppressed by an artificial "25% of current pool size" growth limit throttle which I intend to remove. Removing this throttle without fixing the allocator behavior could make this "too many resources" problem worse. Change the allocator so that a lease that has started allocating a resource won't allocate another resource until the first resource leaves the "pending" state. This also fixes some general oddness with the allocator and attempts to simplify the structure. Test Plan: - Ran 8 taskmasters. - Destroyed all resources and leases. - Leased 4 working copies. - Saw exactly 4 resources build and lease, all simultaneously. - Destroyed all resources and leases. - Leased 32 working copies. - Saw exactly 32 resources build and lease, approximately 8 at a time (limited by taskmasters). - Destroyed all leases (but not resources). - Leased 32 working copies, saw them satisfied by existing resources. Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T13677 Differential Revision: https://secure.phabricator.com/D21807 |
||
---|---|---|
bin | ||
conf | ||
externals | ||
resources | ||
scripts | ||
src | ||
support | ||
webroot | ||
.arcconfig | ||
.arclint | ||
.arcunit | ||
.editorconfig | ||
.gitignore | ||
LICENSE | ||
NOTICE | ||
README.md |
Effective June 1, 2021: Phabricator is no longer actively maintained.
Phabricator is a collection of web applications for software development.
LICENSE
Phabricator is released under the Apache 2.0 license except as otherwise noted.