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

Benjamin Mahler commented on MESOS-6568:
----------------------------------------

Linking this with MESOS-9896, since as far as I could tell, protobuf always 
omits empty lists (it's burned in 
[here|https://github.com/protocolbuffers/protobuf/blob/v3.10.1/src/google/protobuf/util/internal/default_value_objectwriter.cc#L67]).

> JSON serialization should not omit empty arrays in HTTP APIs
> ------------------------------------------------------------
>
>                 Key: MESOS-6568
>                 URL: https://issues.apache.org/jira/browse/MESOS-6568
>             Project: Mesos
>          Issue Type: Improvement
>          Components: HTTP API
>            Reporter: Neil Conway
>            Priority: Major
>              Labels: mesosphere
>
> When using the JSON content type with the HTTP APIs, a {{repeated}} protobuf 
> field is omitted entirely from the JSON serialization of the message. For 
> example, this is a response to the {{GetTasks}} call:
> {noformat}
> {
>   "get_tasks": {
>     "tasks": [{...}]
>   },
>   "type": "GET_TASKS"
> }
> {noformat}
> I think it would be better to include empty arrays for the other fields of 
> the message ({{pending_tasks}}, {{completed_tasks}}, etc.). Advantages:
> # Consistency with the old HTTP endpoints, e.g., /state
> # Semantically, an empty array is more accurate. The master's response should 
> be interpreted as saying it doesn't know about any pending/completed tasks; 
> that is more accurately conveyed by explicitly including an empty array, not 
> by omitting the key entirely.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to