[ 
https://issues.apache.org/jira/browse/MESOS-7629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16039076#comment-16039076
 ] 

Greg Mann commented on MESOS-7629:
----------------------------------

cc [~bmahler]

> Parsing to protobuf leads to API call validation errors
> -------------------------------------------------------
>
>                 Key: MESOS-7629
>                 URL: https://issues.apache.org/jira/browse/MESOS-7629
>             Project: Mesos
>          Issue Type: Bug
>          Components: stout
>            Reporter: Greg Mann
>              Labels: api, json, mesosphere, parsing, protobuf
>
> The {{::protobuf::parse()}} function will [silently drop unrecognized 
> fields|https://github.com/apache/mesos/blob/7ec3269d51d7d180aa857140097c170c469d7959/3rdparty/stout/include/stout/protobuf.hpp#L589],
>  which makes sense in the context of maintaining backward-compatibility 
> across different Mesos versions which may add or remove fields from protobuf 
> messages. However, since we [rely on this protobuf 
> parsing|https://github.com/apache/mesos/blob/7ec3269d51d7d180aa857140097c170c469d7959/src/master/http.cpp#L514-L520]
>  in some places for validation of user-supplied JSON, this can lead to API 
> endpoints returning successful 2XX responses, when in fact the JSON was 
> malformed and the call has not been completed as submitted.
> We should consider adding a parameter to API calls which allows users to 
> enable/disable ignoring unrecognized fields in the call. If the default 
> behavior for JSON requests was to return an error rather than ignore 
> unrecognized fields, then our parsing code would catch malformed JSON 
> submissions. The user could opt-in to the "ignore unrecognized fields" 
> behavior when backwards compatibility is a concern.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to