> On Oct. 13, 2015, 5 p.m., Michael Park wrote:
> > src/common/resources.cpp, line 361
> > <https://reviews.apache.org/r/39018/diff/10/?file=1096261#file1096261line361>
> >
> > I think it would be better to only support one way of doing things here. I would
opt for the array format. Is supporting both formats explicitly a feature?
>
> Greg Mann wrote:
> No, it hasn't been explicitly called out as a feature. Why the desire to allow only
one format? My thought was that any valid JSON string describing one or more Resource objects
should return successfully, but I suppose there isn't too much need to accommodate a single
resource object, since at the command line users will always be specifying multiple resources.
>
> Michael Park wrote:
> > Why the desire to allow only one format?
>
> (1) Generally speaking, it's good to limit the number of ways to do the same thing
so that there's less to remember as the user
> (2) In this specific case, it can actually be confusing/ambiguous.
> That is, does this expect a single `Resource` object: `{ "name" : "cpus", ...
}`, or
> does it expect a `Credentials`-like object where we specify something like: `{
"resources": { "name" : "cpus", ... }, { "name" : "disk", ... }, ... }`?
> (I know now that it does the first one, but at first glance I actually thought
it does the second)
>
> Greg Mann wrote:
> Yea, I see your point with #1. Regarding #2, that is interesting... I went with a
JSON array in this implementation due to the discussion on the JIRA ticket, but honestly I
was unaware of the format of the `Credentials` JSON input. In order to make the formats more
consistent, we could use the same form here: `{"resources": [{"name": "cpus", ...}, {"name":
"disk"}, ...]}`. This would seem to be more in line with your point #1, keeping the interface
simple for the user. Thoughts?
Yeah, except I think we're moving away from the `Credentials`-like JSON input. The `JSON::Array`
parse feature was only recently introduced.
For example, Joseph initially introduced `MachineIDs` but got rid of it once the `JSON::Array`
parse function was introduced. [r38011](https://reviews.apache.org/r/38011)
- Michael
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/39018/#review102443
-----------------------------------------------------------
On Oct. 14, 2015, 3:50 p.m., Greg Mann wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/39018/
> -----------------------------------------------------------
>
> (Updated Oct. 14, 2015, 3:50 p.m.)
>
>
> Review request for mesos, Adam B, Alexander Rukletsov, Jie Yu, and Michael Park.
>
>
> Bugs: MESOS-2467
> https://issues.apache.org/jira/browse/MESOS-2467
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This includes code changes necessary for JSON parsing of Resources. Documentation changes
will be posted soon in another review (https://reviews.apache.org/r/39102/).
>
>
> Diffs
> -----
>
> include/mesos/resources.hpp 6c3a065945eb56dc88df9c977e5ca11d4cbcbf61
> include/mesos/v1/resources.hpp fe8925ac851b74d1b37919f00afc7ed816f47ea5
> src/common/resources.cpp 601388c35a1bff37c58e753d1870d53b8d0af2d1
> src/tests/resources_tests.cpp 6584fc6c39e6ffe9f8085576677dcc669f127697
> src/v1/resources.cpp dc868903472f8f3a1ddc56092e3f8f81d953ce39
>
> Diff: https://reviews.apache.org/r/39018/diff/
>
>
> Testing
> -------
>
> New code was added to `ResourcesTest.ParsingFromJSON`, and two new tests were added:
`ResourcesTest.ParsingFromJSONWithRoles` and `ResourcesTest.ParsingFromJSONError`. These attempt
to test common error scenarios that might show up in user-supplied JSON.
>
> `make check` was used to confirm that all tests pass, with one notable failure (ResourcesTest.ParsingFromJSONError)
related to a picojson issue tracked here: https://issues.apache.org/jira/browse/MESOS-3698
>
> The original resources parsing format is used throughout many other tests (check `src/tests/sorter_tests.cpp`,
for example), so it's clear that the original parsing continues to work correctly.
>
>
> Thanks,
>
> Greg Mann
>
>
|