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

Alexander Rukletsov edited comment on MESOS-8942 at 5/23/18 11:09 AM:
----------------------------------------------------------------------

Proposed fix:
{noformat:title=In Master::updateTask()}
// If this is a (health) check status update, always forward it to subscribers.
if (status.reason() == TaskStatus::REASON_TASK_CHECK_STATUS_UPDATED ||
    status.reason() == TaskStatus::REASON_TASK_HEALTH_CHECK_STATUS_UPDATED) {
  sendSubscribersUpdate = true;
}
{noformat}

Sending extra updates to subscribers is not for free. Ideally we should send 
only task health updates with health and check info iff the state of any of 
those changes. This is probably what we should do long term.


was (Author: alexr):
Proposed fix:
{noformat:title=In Master::updateTask()}
// If this is a (health) check status update, always forward it to subscribers.
if (status.reason() == TaskStatus::REASON_TASK_CHECK_STATUS_UPDATED ||
    status.reason() == TaskStatus::REASON_TASK_HEALTH_CHECK_STATUS_UPDATED) {
  sendSubscribersUpdate = true;
}
{noformat}

> Master streaming API does not send (health) check updates for tasks.
> --------------------------------------------------------------------
>
>                 Key: MESOS-8942
>                 URL: https://issues.apache.org/jira/browse/MESOS-8942
>             Project: Mesos
>          Issue Type: Task
>          Components: HTTP API
>    Affects Versions: 1.4.1, 1.5.0, 1.6.0
>            Reporter: Alexander Rukletsov
>            Assignee: Alexander Rukletsov
>            Priority: Major
>              Labels: api, mesosphere, streaming-api
>
> Currently, Master API subscribers get task status updates when task state 
> changes (the actual logic is [slightly more 
> complex|https://github.com/apache/mesos/blob/d7d7cfbc3e5609fc9a4e8de8203a6ecb11afeac7/src/master/master.cpp#L10794-L10841]).
>  We use task status updates to deliver health and check information to 
> schedulers, in which case task state does not change. Hence these updates are 
> filtered out and the subscribers do not get any task health updates.
> Here is a test that confirms the described behaviour: 
> https://gist.github.com/rukletsov/c079d95479fb134d137ea3ae8b7ae874



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to