> On Sept. 19, 2017, 12:03 a.m., Jie Yu wrote: > > src/slave/slave.cpp > > Lines 6669 (patched) > > <https://reviews.apache.org/r/61183/diff/8/?file=1827893#file1827893line6669> > > > > add a `break` for the first level switch? and a default?
I added a `break` here. I did not add a `default` branch as we want to explicitly trigger a compiler warning about uncovered cases here should another message type be added in the future. > On Sept. 19, 2017, 12:03 a.m., Jie Yu wrote: > > src/tests/slave_tests.cpp > > Lines 8357 (patched) > > <https://reviews.apache.org/r/61183/diff/8/?file=1827894#file1827894line8357> > > > > can we get rid of the process:: prefix? All types from `process::http` in this file are fully qualified (e.g., also `process::http::Request`). I'll submit an additional RR to tidy this up (https://reviews.apache.org/r/62439/). > On Sept. 19, 2017, 12:03 a.m., Jie Yu wrote: > > src/tests/slave_tests.cpp > > Lines 8372 (patched) > > <https://reviews.apache.org/r/61183/diff/8/?file=1827894#file1827894line8372> > > > > Do we need the `mesos::` prefix? I believe sadly we do. We for sure what to distinguish unversioned from e.g., `v1` types. On the other hand in tests we have a namespace `mesos::internal::v1` and just e.g., `v1::resource_provider::Event::Subscribed` is looked up in that one instead of `mesos::v1`. I guess an alternative would be to define aliases for `v1` types and subnamespaces, but I don't see that being done currently (and it IMO seems to make things even more convoluted). - Benjamin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/61183/#review185583 ----------------------------------------------------------- On Sept. 20, 2017, 4:24 p.m., Benjamin Bannier wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/61183/ > ----------------------------------------------------------- > > (Updated Sept. 20, 2017, 4:24 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 > ----- > > src/resource_provider/message.hpp 3c7c3f2baeb726e04edd6ffbb9784699d7afe521 > src/slave/slave.hpp aea1e948209c7c8945665915bc2f6d8eb47814ef > src/slave/slave.cpp 01020a624bdd67ee6371f607d897ad71a2cdcc82 > src/tests/oversubscription_tests.cpp > 02b10d6689dd6f01510cd2d5db2bb76b4b190eca > src/tests/slave_tests.cpp e9bcfefd52e1e99a7a5877b2e7c30af958ca1723 > > > Diff: https://reviews.apache.org/r/61183/diff/10/ > > > Testing > ------- > > Tested on a number of platforms on internal CI. > > > Thanks, > > Benjamin Bannier > >