You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Alexander Rukletsov (JIRA)" <ji...@apache.org> on 2018/05/23 11:10:00 UTC
[jira] [Comment Edited] (MESOS-8942) Master streaming API does not
send (health) check updates for tasks.
[ 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)