[
https://issues.apache.org/jira/browse/MESOS-4548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James DeFelice updated MESOS-4548:
----------------------------------
Affects Version/s: 0.24.0
> Errors communicated to the scheduler should be associated with stable error
> codes.
> ----------------------------------------------------------------------------------
>
> Key: MESOS-4548
> URL: https://issues.apache.org/jira/browse/MESOS-4548
> Project: Mesos
> Issue Type: Improvement
> Affects Versions: 0.24.0
> Reporter: James DeFelice
> Labels: mesosphere
>
> For example, in mesos 0.24 there was a change to the error message generated
> by the master when a previously removed framework attempts to re-register:
> https://github.com/apache/mesos/commit/8661672d80cbe3ebd05e68a6fc4167b54ea139ef
> Some frameworks, rightly or not, attempt to compare the generated error
> string to "Completed framework attempted to re-register" which changed in
> mesos 0.24 to "Framework has been removed". These frameworks are now broken
> with respect to this aspect of their error handling, at least until they're
> changed to check for the new error string.
> Arguably frameworks shouldn't be comparing error strings since they're not
> guaranteed to remain stable across releases. However, mesos currently offers
> no alternative since there's no error **code** in the API.
> Furthermore, with the rise of the HTTP API there's room for two classes of
> errors: synchronous validation errors vs. asynchronous errors. It would be
> ideal to have meaningful 4xx error code responses for synchronous errors as
> well as error codes for asynchronous errors delivered via ERROR events. These
> error codes would become part of a stable API that mesos would treat just
> like the rest of its APIs, allowing for deprecation cycles before breaking
> changes - or at the very least a release note indicating an immediate
> breaking change.
> /cc [~vinodkone]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)