You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Joseph Wu <jo...@mesosphere.io> on 2015/11/20 20:17:27 UTC
Review Request 40264: Libprocess Reinitialization: Implement
Clock::finalize for cleaning up timers
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/40264/
-----------------------------------------------------------
Review request for mesos, Artem Harutyunyan and Joris Van Remoortere.
Bugs: MESOS-3882
https://issues.apache.org/jira/browse/MESOS-3882
Repository: mesos
Description
-------
Timers may deference `process_manager`, either directly or via the associated lambda, after `process_manager` has been freed in `process::finalize`. Cleaning up the `Clock` appropriately in `process::finalize` prevents that race.
Diffs
-----
3rdparty/libprocess/include/process/clock.hpp 1107a329caf77f15901d87808eee72818601510c
3rdparty/libprocess/src/clock.cpp 58060985bf8ab8a1bbd78b687b4c96836e13b86a
3rdparty/libprocess/src/process.cpp 8fa0594b671969c2713d1b361f2dbbb07d25b3a8
Diff: https://reviews.apache.org/r/40264/diff/
Testing
-------
`make check` (--enable-libevent --enable-ssl)
Thanks,
Joseph Wu
Re: Review Request 40264: Libprocess Reinitialization: Implement
Clock::finalize for cleaning up timers
Posted by Joris Van Remoortere <jo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/40264/#review107632
-----------------------------------------------------------
Ship it!
3rdparty/libprocess/include/process/clock.hpp (lines 53 - 54)
<https://reviews.apache.org/r/40264/#comment166863>
Let's clarify why it is ok not to execute them: that processes should have been properly finalized before the clock is finalized.
3rdparty/libprocess/src/clock.cpp (line 141)
<https://reviews.apache.org/r/40264/#comment166862>
Let's add a comment that `tick` must remain robust to arbitrary invocations, as per offline discussion.
- Joris Van Remoortere
On Nov. 20, 2015, 7:17 p.m., Joseph Wu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/40264/
> -----------------------------------------------------------
>
> (Updated Nov. 20, 2015, 7:17 p.m.)
>
>
> Review request for mesos, Artem Harutyunyan and Joris Van Remoortere.
>
>
> Bugs: MESOS-3882
> https://issues.apache.org/jira/browse/MESOS-3882
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Timers may deference `process_manager`, either directly or via the associated lambda, after `process_manager` has been freed in `process::finalize`. Cleaning up the `Clock` appropriately in `process::finalize` prevents that race.
>
>
> Diffs
> -----
>
> 3rdparty/libprocess/include/process/clock.hpp 1107a329caf77f15901d87808eee72818601510c
> 3rdparty/libprocess/src/clock.cpp 58060985bf8ab8a1bbd78b687b4c96836e13b86a
> 3rdparty/libprocess/src/process.cpp 8fa0594b671969c2713d1b361f2dbbb07d25b3a8
>
> Diff: https://reviews.apache.org/r/40264/diff/
>
>
> Testing
> -------
>
> `make check` (--enable-libevent --enable-ssl)
>
>
> Thanks,
>
> Joseph Wu
>
>
Re: Review Request 40264: Libprocess Reinitialization: Implement
Clock::finalize for cleaning up timers
Posted by Joseph Wu <jo...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/40264/
-----------------------------------------------------------
(Updated Nov. 23, 2015, 11:57 a.m.)
Review request for mesos, Artem Harutyunyan and Joris Van Remoortere.
Changes
-------
Add more comments to document the assumptions of `Clock::finalize`.
Bugs: MESOS-3882
https://issues.apache.org/jira/browse/MESOS-3882
Repository: mesos
Description
-------
Timers may deference `process_manager`, either directly or via the associated lambda, after `process_manager` has been freed in `process::finalize`. Cleaning up the `Clock` appropriately in `process::finalize` prevents that race.
Diffs (updated)
-----
3rdparty/libprocess/include/process/clock.hpp 2e526f810e2702b57ea172835ab99e4ee8537252
3rdparty/libprocess/src/clock.cpp 7665d120b3897a76ce018bed0c3d039eabca521f
3rdparty/libprocess/src/process.cpp 0fa15dd3d3c83c98411760738b0541248d548ee6
Diff: https://reviews.apache.org/r/40264/diff/
Testing
-------
`make check` (--enable-libevent --enable-ssl)
Thanks,
Joseph Wu