> On Nov. 25, 2016, 3:20 a.m., Guangya Liu wrote: > > src/common/roles.cpp, lines 110-130 > > <https://reviews.apache.org/r/54062/diff/1/?file=1570158#file1570158line110> > > > > Can we simplify the logic as your diagram above: > > > > ``` > > if (frameworkInfo.roles_size() > 0 && > > frameworkInfo.has_role()) { > > > > } > > > > if (frameworkHasCapability( > > frameworkInfo, > > FrameworkInfo::Capability::MULTI_ROLE)) { > > if (frameworkInfo.roles_size() == 0 && > > frameworkInfo.has_role()) { > > > > } > > } else { > > if (frameworkInfo.roles_size() > 0 && > > !frameworkInfo.has_role()) { > > > > } > > } > > ```
I don't see this simplifies the logic, since inevitably we need to have three error cases. And since the diagram describes the results in 2 categories, w/o MULTI_ROLE, I think current implementation may reflect that pattern better, what do you think? > On Nov. 25, 2016, 3:20 a.m., Guangya Liu wrote: > > src/common/roles.cpp, line 138 > > <https://reviews.apache.org/r/54062/diff/1/?file=1570158#file1570158line138> > > > > I think that you do not need this as there is no need to persist roles > > in this validation. This is used to check duplicate entries in roles. I added some comments in the revision. > On Nov. 25, 2016, 3:20 a.m., Guangya Liu wrote: > > src/common/roles.cpp, line 150 > > <https://reviews.apache.org/r/54062/diff/1/?file=1570158#file1570158line150> > > > > kill this as well see above comments - Jay ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/54062/#review156878 ----------------------------------------------------------- On Nov. 25, 2016, 6:45 a.m., Jay Guo wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/54062/ > ----------------------------------------------------------- > > (Updated Nov. 25, 2016, 6:45 a.m.) > > > Review request for mesos, Guangya Liu and Qiang Zhang. > > > Bugs: MESOS-6629 > https://issues.apache.org/jira/browse/MESOS-6629 > > > Repository: mesos > > > Description > ------- > > We need to do necessary validation for the conflicts of role, roles > and MULTI_ROLE capability. It complies with following matrix: > > -- MULTI_ROLE is NOT set - > |-------|---------| > |Roles |No Roles | > |-------|-------|---------| > |Role | Error | None | > |-------|-------|---------| > |No Role| Error | None | > |-------|-------|---------| > > --- MULTI_ROLE is set ---- > |-------|---------| > |Roles |No Roles | > |-------|-------|---------| > |Role | Error | Error | > |-------|-------|---------| > |No Role| None | None | > |-------|-------|---------| > > Two test cases are added, one is for validateRoles method and another > ensures that the master rejects subscription when provided invalid > roles. > > > Diffs > ----- > > src/master/master.cpp e03a2e8025943825a2902102c43dc0eb66bacb6a > src/master/validation.hpp b8389460f34b3531f2b6ff93f18f496c01e1a079 > src/master/validation.cpp 42d9b4a8784c2a161b74d7b46619cc22272e14e3 > src/tests/master_validation_tests.cpp > f893067859425967654401f3226149268b51cf57 > > Diff: https://reviews.apache.org/r/54062/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Jay Guo > >
