Hello,

The state endpoints, on master and agent, currently serialize two binary
data fields in the ExecutorInfo and TaskInfo objects.  These fields are set
by frameworks; and Mesos does not inspect their values.

The data fields can be found in the state JSON blobs:
/master/state -> frameworks[*].executors[*].data
/slave/state ->
frameworks[*].(executors|completed_executors)[*].(tasks|queued_tasks|completed_tasks)[*].data

*Problem:*
The state endpoints are JSON-ified in a non-standard way (i.e. not via our
normal Protobuf-to-json methods).  When we serialize the binary "data"
fields, the binary is dumped as a string, as is.  The resulting JSON may
not be valid if the binary data includes random bytes (i.e. not unicode).
Most JSON parsers will error on the state endpoints in this case.

*Proposed solution *(and breaking change)*:*
Simple -- remove the "data" fields from the state endpoints.  (And only
from the state endpoints.  The ExecutorInfo and TaskInfo objects will not
change.)

*Question:*
We believe that frameworks/tools do not rely on retrieving the "data"
fields from the state endpoints.

Is there any framework/tool that retrieves the "data" field from the state
endpoints?
And if so, is it critical to how the framework/tool works?

More details here: https://issues.apache.org/jira/browse/MESOS-3771

Thanks,
~Joseph

Reply via email to