Hey Whitney, sorry to hear you were bit by this!

I just realized that I misclassified MESOS-1406, the problem ran deeper
than I initially thought.
In particular, all of the boolean JSON values that were being exported
implicitly changed from "1"/"0" to "true"/"false" due to this change:

commit dee9bd96e88053ab96c84253578ed332d343fe41
Date:   Thu Feb 20 16:24:09 2014 -0800

    Add JSON::Boolean to stout/json.hpp.

To answer your questions:

(1) Yes, we consider the JSON to be part of the API and so this was an API
breaking bug! We only noticed the breakage in the stats.json endpoint at
Twitter and so we managed to fix that particular instance before 0.19.0 was
released.

(2) If there are deprecations in the JSON API, we will note them in the
release notes and let folks know what to use instead. We should also note
them within the /help endpoint on the master / slave.

More importantly, we need more testing of the JSON API to catch accidental
changes. Up until recently, the JSON had absolutely no test coverage and
even today the coverage is very poor. Could you file a ticket that captures
the need for better JSON API testing so that we don't do this again in the
future? Sorry for the pain here!

Ben


On Wed, Jul 23, 2014 at 10:37 AM, Whitney Sorenson <wsoren...@hubspot.com>
wrote:

> Upgrading from 0.18.0 to 0.19.1 I've got a json parse error similar to:
>
> https://issues.apache.org/jira/browse/MESOS-1406
>
> where active (and checkpoint?) in a Framework is now a boolean instead of
> an integer.
>
> A couple questions:
>
> - Should we consider any json changes to be bugs, like 1406? (As a
> framework maintainer, I think we would prefer guaranteed backwards
> compatibility)
>
> - I know there has been some work on the json endpoints; where in the
> changelog or docs should one look when new endpoints are added or
> recommended over older ones?
>
> -Whitney
>

Reply via email to