[jira] [Updated] (MESOS-1723) Replace BoundedRateLimiter with EventThrottler libprocess Process
[ https://issues.apache.org/jira/browse/MESOS-1723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yan Xu updated MESOS-1723: -- Target Version/s: 0.23.0 (was: 0.22.0) 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.3.4#6332)
[jira] [Updated] (MESOS-1723) Replace BoundedRateLimiter with EventThrottler libprocess Process
[ https://issues.apache.org/jira/browse/MESOS-1723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ian Downes updated MESOS-1723: -- Target Version/s: 0.22.0 (was: 0.21.0) 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.3.4#6332)