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