mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Qian Zhang <zhq527...@gmail.com>
Subject Re: Review Request 72055: Changed termination logic of the Docker executor.
Date Fri, 31 Jan 2020 13:56:10 GMT


> On Jan. 30, 2020, 10:31 a.m., Qian Zhang wrote:
> > src/docker/executor.cpp
> > Lines 779-788 (original), 779-789 (patched)
> > <https://reviews.apache.org/r/72055/diff/2/?file=2209999#file2209999line779>
> >
> >     This seems a bit redundant to me, I'd suggest to only have:
> >     ```
> >       void _stop()
> >       {
> >         driver.get()->stop();
> >       }
> >     ```
> >     
> >     And then call `delay(Seconds(60), self(), &Self::__stop);` in `_reaped()`
and `launchTask()`.
> 
> Andrei Budnik wrote:
>     I agree, but ideally we'd need to introduce a named constant for `Seconds(60)` (since
it appears more than once in the code). I noticed that there is no such named constant for
other executors.

Hmm, I am not sure if we want to introduce a constant for `Seconds(60)`, and I think that
is a separate concern (it can be handled later in a separate patch if we decide to do it).


- Qian


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


On Jan. 30, 2020, 12:23 a.m., Andrei Budnik wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/72055/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2020, 12:23 a.m.)
> 
> 
> Review request for mesos, Andrei Sekretenko, Greg Mann, Qian Zhang, and Vinod Kone.
> 
> 
> Bugs: MESOS-9847
>     https://issues.apache.org/jira/browse/MESOS-9847
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Previously, the Docker executor terminated itself after a task's
> container had terminated. This could lead to termination of the
> executor before processing of a terminal status update by the agent.
> In order to mitigate this issue, the executor slept for one second to
> give a chance to send all status updates and receive all status update
> acknowledgments before terminating itself. This might have led to
> various race conditions in some circumstances (e.g., on a slow host).
> This patch terminates the Docker executor after receiving a terminal
> status update acknowledgment. Also, this patch increases the timeout
> from one second to one minute for fail-safety.
> 
> 
> Diffs
> -----
> 
>   src/docker/executor.cpp 132f42bfa42c846fc5dc40f7763aa0b5d12a7798 
>   src/exec/exec.cpp 69e5e24b248c7c913421de5e42713c34fd79ad46 
> 
> 
> Diff: https://reviews.apache.org/r/72055/diff/2/
> 
> 
> Testing
> -------
> 
> internal CI
> 
> 
> Thanks,
> 
> Andrei Budnik
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message