You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Anand Mazumdar (JIRA)" <ji...@apache.org> on 2016/09/26 02:00:26 UTC

[jira] [Commented] (MESOS-6245) Driver based schedulers performing explicit acknowledgements cannot acknowledge updates from HTTP based executors.

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

Anand Mazumdar commented on MESOS-6245:
---------------------------------------

{noformat}
commit ec4c81a12559030791334359e7e1e2b6565cce01
Author: Anand Mazumdar <an...@apache.org>
Date:   Sun Sep 25 18:54:21 2016 -0700

    Fixed driver based schedulers to ACK updates from HTTP executors.

    Previously, driver based schedulers were not able to acknowledge
    status updates from HTTP based executors if they had explicit
    acknowledgements enabled. This was due to the fact that we
    were not populating `TaskStatus.slave_id` correctly if not
    set. It would also be great to validate `TaskStatus.slave_id`
    set by the executor and let them know if the value is incorrect.

    Review: https://reviews.apache.org/r/52231/
{noformat}

Keeping the JIRA open for backporting the fix to the 1.0.x branch.

> Driver based schedulers performing explicit acknowledgements cannot acknowledge updates from HTTP based executors.
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: MESOS-6245
>                 URL: https://issues.apache.org/jira/browse/MESOS-6245
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Anand Mazumdar
>            Assignee: Anand Mazumdar
>              Labels: mesosphere
>             Fix For: 1.1.0, 1.0.2
>
>
> It seems that the agent code sets {{StatusUpdate}}->{{slave_id}} but does not set the {{TaskStatus}}->{{slave_id}} if it's not already set. On the driver, when we receive such a status update and if it has explicit ACK enabled, it would pass the {{TaskStatus}} to the scheduler. But, the scheduler has no way of acking this update due to {{slave_id}} not being present. Note that, implicit acknowledgements still work since they use the {{slave_id}} from {{StatusUpdate}}. Hence, we never noticed this in our tests as all of them use implicit acknowledgements on the driver.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)