----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/61183/ -----------------------------------------------------------
(Updated Sept. 8, 2017, 12:38 a.m.) Review request for mesos, Jie Yu and Jan Schlicht. Changes ------- Avoid explicitly tracking resource provider resources as suggested by Jie. Repository: mesos Description ------- The agent's resource provider manager sends a 'ResourceProviderMessage' when its managed resources change. This commit adds handling in the agent so that an 'UpdateSlaveMessage' is sent to the master to update the total resource available on the agent. We also store this total in the agent memory so that it can be resent on agent resubscription. In order to provide push-like handling of the resource provider manager's message queue, we chain recursive calls to the handler for continuous processing. Initially, processing is kicked off from 'Slave::initialize'. In this simple implementation we e.g., provide no direct way to stop processing of messages, yet, but it can be achieved by e.g., replacing the manager with a new instance (this would also require updating routes). Since the agent can only send an 'UpdateSlaveMessage' when it is registered with a master, a simple back-off of 5 s is implemented which will defer processing of a ready message should the agent not yet have registered. To facilitate logging we add a stringification function for 'ResourceProviderMessage's. Diffs (updated) ----- src/resource_provider/message.hpp 3c7c3f2baeb726e04edd6ffbb9784699d7afe521 src/slave/slave.hpp 7d07868451e93d34ba694d40216c1e4036fd4094 src/slave/slave.cpp 6d1516a5d5b5db684f79385e60d892ff75fd00fd src/tests/slave_tests.cpp 1bdadce4c50cbff958f2be2a4261e130b414acfd Diff: https://reviews.apache.org/r/61183/diff/7/ Changes: https://reviews.apache.org/r/61183/diff/6-7/ Testing ------- `make check` Thanks, Benjamin Bannier