-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67664/#review205052
-----------------------------------------------------------


Fix it, then Ship it!





src/slave/slave.cpp
Lines 7738-7746 (patched)
<https://reviews.apache.org/r/67664/#comment287932>

    Let's explicitly call out that the operation result is already reflected in 
the reported total, e.g.
    
        // Handle operations known to both the agent and the resource provider.
        //
        // If an operation became terminal it is already reflected in the total
        // reported by the resource provider and should not be applied again in
        // e.g., the `UPDATE_OPERATION_STATUS` handler when a status update
        // arrives.  Set the terminal `latest_status` here to prevent resource
        // mutations elsewhere.
        //
        // NOTE: We only update the `latest_status` of a known operation if it
        // is not terminal yet here; its `statuses` would be updated by an
        // operation status update handler.


- Benjamin Bannier


On June 20, 2018, 7:33 a.m., Chun-Hung Hsiao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67664/
> -----------------------------------------------------------
> 
> (Updated June 20, 2018, 7:33 a.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Greg Mann, Jie Yu, and Jan 
> Schlicht.
> 
> 
> Bugs: MESOS-9010
>     https://issues.apache.org/jira/browse/MESOS-9010
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Since a resource provider and its operation status update manager run in
> different actors, the `UPDATE_OPERATION_STATUS` call of a completed
> operation may race with an `UPDATE_STATE` call.
> 
> To deal with this race, the agent should update the latest statuses of
> all completed operations received in the `UPDATE_STATE` call to avoid
> erroneously applying those operations when receiving
> `UPDATE_OPERATION_STATUS`es.
> 
> 
> Diffs
> -----
> 
>   src/slave/slave.cpp 8edd652f7f410dbadaf6c2ca3736349065e4340a 
>   src/tests/slave_tests.cpp b46fb8efc524852f62428040ff958bd44e9efe9f 
> 
> 
> Diff: https://reviews.apache.org/r/67664/diff/1/
> 
> 
> Testing
> -------
> 
> sudo make check
> 
> 
> Thanks,
> 
> Chun-Hung Hsiao
> 
>

Reply via email to