mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Park" <mcyp...@gmail.com>
Subject Re: Review Request 35715: Added revocable resource state validation.
Date Sun, 21 Jun 2015 19:16:45 GMT


> On June 21, 2015, 6:47 p.m., Vinod Kone wrote:
> > src/common/resources.cpp, lines 479-487
> > <https://reviews.apache.org/r/35715/diff/1/?file=989223#file989223line479>
> >
> >     These checks are done in master's validation.cpp

Ah sorry, I missed that.

This reminded me of the discussion Jie and I had for [r32140](https://reviews.apache.org/r/32140/)
regarding where validations should live. I think this validation belongs here rather than
in master validation.
What we concluded from the discussion was that `Resources::validate` should perform necessary
validation to satisfy the invariant of the `Resource` object.
This enables methods that operate on `Resource` (e.g. `Resources::isRevocable`) to assume
its validity.

My notes:
> Synced with Jie on IRC regarding this topic. We agreed that `Resources::validate` needs
to capture the invariant of the `Resource` object which means it needs to invalidate the `role
== "*" && has_reservation()` state. This invariant is required for all the predicates
as well as functions such as `reserved()` and `unreserved()` to have well-defined behavior.

Jie's note:
> Discussed with Mpark offline. We agreed that rule for Resources::validate is that it
should only perform necessary validation to make sure all methods in Resources are well hahaved,
and the validation around * and reservation info is necessary for 'reserved/unreserved' to
work properly. Thus dropping the issue around validation.


- Michael


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/35715/#review88710
-----------------------------------------------------------


On June 21, 2015, 7 p.m., Michael Park wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/35715/
> -----------------------------------------------------------
> 
> (Updated June 21, 2015, 7 p.m.)
> 
> 
> Review request for mesos, Jie Yu, Niklas Nielsen, and Vinod Kone.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> In `mesos.proto`, it specifies the expected state of revocable resource:
> 
> ```
> // ... Note that if this is set, 'disk' or 'reservation' cannot be set.
> optional RevocableInfo revocable = 9;
> ```
>   
> This expectation should be validated in `Resources::validate(const Resource& resoure)`
> 
> 
> Diffs
> -----
> 
>   src/common/resources.cpp eb5476a0365fe65f474afd0ab7a52ad7f1e04521 
>   src/tests/resources_tests.cpp 9f96b14a6a4ce416d044934dd7ab4d28e4bc7332 
> 
> Diff: https://reviews.apache.org/r/35715/diff/
> 
> 
> Testing
> -------
> 
> Added `RevocableResourceTest.Validation` + `make check`
> 
> 
> Thanks,
> 
> Michael Park
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message