You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Yan Xu (JIRA)" <ji...@apache.org> on 2014/08/19 20:31:18 UTC
[jira] [Created] (MESOS-1723) Replace "BoundedRateLimiter" with
EventThrottler libprocess Process
Yan Xu created MESOS-1723:
-----------------------------
Summary: Replace "BoundedRateLimiter" with EventThrottler libprocess Process
Key: MESOS-1723
URL: https://issues.apache.org/jira/browse/MESOS-1723
Project: Mesos
Issue Type: Improvement
Affects Versions: 0.20.0
Reporter: Yan Xu
Priority: Minor
To help enforce per-principal capacity for framework limiting, Master implements a nested struct [BoundedRateLimiter|https://github.com/apache/mesos/blob/0.20.0-rc2/src/master/master.hpp#L772] that keeps track of the capacity for the principal and the current number of outstanding messages. Master implements all the accounting logic ([e.g.|https://github.com/apache/mesos/blob/0.20.0-rc2/src/master/master.cpp#L879]) and makes sure the struct is used correctly.
The capacity enforcing logic will be cleaner and better encapsulated by if we replace BoundedRateLimiter with an EventThrottler libprocess Process and move all the aforementioned logic inside.
Note that the reason for not implementing the capacity inside [RateLimiter|https://github.com/apache/mesos/blob/0.20.0-rc2/3rdparty/libprocess/include/process/limiter.hpp] is that it is not aware of who's calling it and we have different rules for MessageEvents and ExitedEvents w.r.t capacity (i.e. ExitedEvents are not subject to capacity).
--
This message was sent by Atlassian JIRA
(v6.2#6252)