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)