> On Sept. 20, 2016, 10:29 p.m., Jiang Yan Xu wrote:
> > include/mesos/resources.hpp, lines 273-274
> > <https://reviews.apache.org/r/52002/diff/2/?file=1504213#file1504213line273>
> >
> >     Does it need to be a Try? i.e., if it's not a disk, it's not a root 
> > disk, right? We have `validate()` to make sure resources are valid.

If `resource.name() != "disk"`, we can skip this resource altogether. But if 
this is a `disk` but not a root disk (ie. `resource.has_disk()` is `true`), 
then we also check for `MOUNT` or `PATH`. So by returning a `Try<bool>`, we are 
able to decide if we should continue with this resource or not. Ofcourse, we 
can check for `resource.has_disk()` outside of these functions but adding that 
check makes this function self-contained.


> On Sept. 20, 2016, 10:29 p.m., Jiang Yan Xu wrote:
> > include/mesos/resources.hpp, lines 276-278
> > <https://reviews.apache.org/r/52002/diff/2/?file=1504213#file1504213line276>
> >
> >     Would it be simpler to just have 
> >     
> >     ```
> >     static bool Resources::isMountDisk(const Resource& resource);
> >     static bool Resources::isPathDisk(const Resource& resource);
> >     ```
> >     
> >     ?
> >     
> >     We have already lost enumerability (or swtichability) given that the 
> > root disk does not have a type. :)

I prefer this way so as to not add functions when we add more disk types, say 
for block devices.


> On Sept. 20, 2016, 10:29 p.m., Jiang Yan Xu wrote:
> > src/common/resources.cpp, line 920
> > <https://reviews.apache.org/r/52002/diff/2/?file=1504215#file1504215line920>
> >
> >     Not `!resource.has_disk()` but rather `!resource.disk().has_source()` 
> > right?
> >     
> >     See examples below.

I think `!resource.has_disk()` is fine. Why should a root disk have 
`Persistence` and/or `Volume`? `Persistence` is to define characteristics of a 
persistent volume, where as `Volume` is how the disk resource is mounted in a 
container.


> On Sept. 20, 2016, 10:29 p.m., Jiang Yan Xu wrote:
> > src/common/resources.cpp, lines 924-943
> > <https://reviews.apache.org/r/52002/diff/2/?file=1504215#file1504215line924>
> >
> >     It seems to be cleaner to implement the following instead:
> >     
> >     ```
> >     static bool Resources::isMountDisk(const Resource& resource)
> >     {
> >       return resource.has_disk() && 
> >              resource.disk().has_source() &&
> >              resource.disk().source().type() == 
> > Resource::DiskInfo::Source::MOUNT;
> >     }
> >     
> >     static bool Resources::isPathDisk(const Resource& resource)
> >     {
> >       return resource.has_disk() && 
> >              resource.disk().has_source() &&
> >              resource.disk().source().type() == 
> > Resource::DiskInfo::Source::PATH;
> >     }
> >     ```

See my response above. I think having a single function to encapsulate all 
source types is fine.


- Anindya


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


On Sept. 21, 2016, 4:14 a.m., Anindya Sinha wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/52002/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 4:14 a.m.)
> 
> 
> Review request for mesos and Jiang Yan Xu.
> 
> 
> Bugs: MESOS-6062
>     https://issues.apache.org/jira/browse/MESOS-6062
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Added helper methods to determine types of disk resources.
> 
> 
> Diffs
> -----
> 
>   include/mesos/resources.hpp 3ef8cacee529addc745b4aeb6398d7606c61b749 
>   include/mesos/v1/resources.hpp ef56b4960b103a3efd916fab64796aa334ba44c6 
>   src/common/resources.cpp 4602bff22ec7ff77f069056085ad92bfa04595f3 
>   src/tests/resources_tests.cpp 3e493007d6d1d8194d07035aaa1cde28dedf2b5a 
>   src/v1/resources.cpp 7c4db44d4c31a8295cc16b0ce1ef5adf314e6ac6 
> 
> Diff: https://reviews.apache.org/r/52002/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Anindya Sinha
> 
>

Reply via email to