----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/61183/ -----------------------------------------------------------
(Updated Sept. 25, 2017, 12:28 p.m.) Review request for mesos, Jie Yu and Jan Schlicht. 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. 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. This patch also adjusts a number of tests to no expect two 'UpdateSlaveMessage's. Diffs (updated) ----- src/resource_provider/message.hpp 3c7c3f2baeb726e04edd6ffbb9784699d7afe521 src/slave/slave.hpp aea1e948209c7c8945665915bc2f6d8eb47814ef src/slave/slave.cpp 75e2e25c438637e2b1731f9fd01b6fe297687c50 src/tests/oversubscription_tests.cpp 02b10d6689dd6f01510cd2d5db2bb76b4b190eca src/tests/slave_tests.cpp e9bcfefd52e1e99a7a5877b2e7c30af958ca1723 Diff: https://reviews.apache.org/r/61183/diff/12/ Changes: https://reviews.apache.org/r/61183/diff/11-12/ Testing ------- Tested on a number of platforms on internal CI. Thanks, Benjamin Bannier