[
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)