> On Sept. 18, 2020, 10:22 p.m., Benjamin Mahler wrote: > > include/mesos/scheduler.hpp > > Lines 375-376 (patched) > > <https://reviews.apache.org/r/72874/diff/1/?file=2239588#file2239588line375> > > > > Functionally, what is the difference between a nullptr and a default > > constructed OfferConstraints proto? Or a OfferConstraints proto with a map > > of roles but each one having default constructed RoleConstraints? > > > > Just wondering if we need the nullptr here (we didn't use one fr > > suppressed roles, so looks inconsistent and makes one wonder the above > > question). > > > > Based on just looking at the offer constraints debug endpoint, we might > > want to see whether the framework is capable of setting it..?
Right question, thanks for asking! A map of roles with default `RoleConstriants` has an entirely differentt semantics: a default-constructed `RoleConstraints` means that there are no constraint group for this role to match anything. When discussing the validity criteria in the design doc, we settled on disallowing empty `RoleConstraints`, because instead of setting empty `RoleConstraints` a framework should just explicitly suppress the role. On the other hand, default-constructed `OfferConstraints` is a perfectly legitimate thing: it asks Mesos to put constraints on offers for **no roles**. This indeed is equivalent to not setting `offer_constraints` in the `Subscribe`/`UpdateFramework`, and, IMO, it should be kept this way in the future. Probably I should revisit some things we previously landed: at the very least, the protobuf comments, but probably also some places already using `Option<OffferConstraints>`. - Andrei ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/72874/#review221898 ----------------------------------------------------------- On Sept. 16, 2020, 9:05 p.m., Andrei Sekretenko wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/72874/ > ----------------------------------------------------------- > > (Updated Sept. 16, 2020, 9:05 p.m.) > > > Review request for mesos and Benjamin Mahler. > > > Bugs: MESOS-10189 > https://issues.apache.org/jira/browse/MESOS-10189 > > > Repository: mesos > > > Description > ------- > > This patch adds an ability to set or clear V0 framework's offer > constraints via the C++ V0 scheduler driver. > > > Diffs > ----- > > include/mesos/scheduler.hpp 61cc846a03d2980f18fa66df1de196edc5cb4457 > src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp > 1817bbafc4ce65ee5e58eb787e71c6d06481a32f > src/python/scheduler/src/mesos/scheduler/mesos_scheduler_driver_impl.cpp > 256632a9589c8573cbe0f0aeb39ee6cb1e4b3256 > src/sched/sched.cpp 768ce7d4074a1ea50b656717e25be6c38a423368 > src/tests/master/update_framework_tests.cpp > d6c45f60cf50739aacbb507e99a5163a6cb3d1a0 > src/tests/scheduler_driver_tests.cpp > 63d7a3ba9a98d8c343324f5ad85f0b4d0cc033be > > > Diff: https://reviews.apache.org/r/72874/diff/1/ > > > Testing > ------- > > > Thanks, > > Andrei Sekretenko > >
