You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Kenneth Giusti <kg...@apache.org> on 2016/01/24 23:20:19 UTC
Re: Review Request 42700: PROTON-1104 - move the deallocation and
cleanup of the reactor's timer to pn_reactor_stop,
do not close pipes until reactor is finalized.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42700/
-----------------------------------------------------------
(Updated Jan. 24, 2016, 10:20 p.m.)
Review request for qpid, Alan Conway and Gordon Sim.
Summary (updated)
-----------------
PROTON-1104 - move the deallocation and cleanup of the reactor's timer to pn_reactor_stop, do not close pipes until reactor is finalized.
Bugs: PROTON-1104
https://issues.apache.org/jira/browse/PROTON-1104
Repository: qpid-proton-git
Description (updated)
-------
When a reactor's final connection is closed/released, new connections created on that reactor don't work properly. Specifically, the pn_reactor_wakeup() call fails. This can lead to the reactor thread "hanging" until the next configured timeout occurs.
This is due to reactor destroying its internal timer selectable when the last connection is released. The timer finalize also closes the IPC pipe, rendering pn_reactor_wakeup() unable to work.
Diffs
-----
proton-c/src/reactor/reactor.c 7ea279b
Diff: https://reviews.apache.org/r/42700/diff/
Testing
-------
Unit tests pass. reproducer pass.
Need to check the python reactor examples.
Thanks,
Kenneth Giusti
Re: Review Request 42700: PROTON-1104 - move the deallocation and
cleanup of the reactor's timer to pn_reactor_stop,
do not close pipes until reactor is finalized.
Posted by Alan Conway <ac...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42700/#review116225
-----------------------------------------------------------
Ship it!
Ship It!
- Alan Conway
On Jan. 24, 2016, 10:20 p.m., Kenneth Giusti wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42700/
> -----------------------------------------------------------
>
> (Updated Jan. 24, 2016, 10:20 p.m.)
>
>
> Review request for qpid, Alan Conway and Gordon Sim.
>
>
> Bugs: PROTON-1104
> https://issues.apache.org/jira/browse/PROTON-1104
>
>
> Repository: qpid-proton-git
>
>
> Description
> -------
>
> When a reactor's final connection is closed/released, new connections created on that reactor don't work properly. Specifically, the pn_reactor_wakeup() call fails. This can lead to the reactor thread "hanging" until the next configured timeout occurs.
>
> This is due to reactor destroying its internal timer selectable when the last connection is released. The timer finalize also closes the IPC pipe, rendering pn_reactor_wakeup() unable to work.
>
>
> Diffs
> -----
>
> proton-c/src/reactor/reactor.c 7ea279b
>
> Diff: https://reviews.apache.org/r/42700/diff/
>
>
> Testing
> -------
>
> Unit tests pass. reproducer pass.
>
> Need to check the python reactor examples.
>
>
> Thanks,
>
> Kenneth Giusti
>
>
Re: Review Request 42700: PROTON-1104 - move the deallocation and
cleanup of the reactor's timer to pn_reactor_stop,
do not close pipes until reactor is finalized.
Posted by Gordon Sim <gs...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42700/#review116089
-----------------------------------------------------------
Ship it!
Seems ok to me.
- Gordon Sim
On Jan. 24, 2016, 10:20 p.m., Kenneth Giusti wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42700/
> -----------------------------------------------------------
>
> (Updated Jan. 24, 2016, 10:20 p.m.)
>
>
> Review request for qpid, Alan Conway and Gordon Sim.
>
>
> Bugs: PROTON-1104
> https://issues.apache.org/jira/browse/PROTON-1104
>
>
> Repository: qpid-proton-git
>
>
> Description
> -------
>
> When a reactor's final connection is closed/released, new connections created on that reactor don't work properly. Specifically, the pn_reactor_wakeup() call fails. This can lead to the reactor thread "hanging" until the next configured timeout occurs.
>
> This is due to reactor destroying its internal timer selectable when the last connection is released. The timer finalize also closes the IPC pipe, rendering pn_reactor_wakeup() unable to work.
>
>
> Diffs
> -----
>
> proton-c/src/reactor/reactor.c 7ea279b
>
> Diff: https://reviews.apache.org/r/42700/diff/
>
>
> Testing
> -------
>
> Unit tests pass. reproducer pass.
>
> Need to check the python reactor examples.
>
>
> Thanks,
>
> Kenneth Giusti
>
>
Re: Review Request 42700: PROTON-1104 - move the deallocation and
cleanup of the reactor's timer to pn_reactor_stop,
do not close pipes until reactor is finalized.
Posted by Kenneth Giusti <kg...@apache.org>.
> On Jan. 25, 2016, 10:31 a.m., Gordon Sim wrote:
> > Does the reactor still shut itself down when the last connection is removed?
Yes - once there are no more open connections or scheduled tasks, pn_reactor_process() returns false.
- Kenneth
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42700/#review116069
-----------------------------------------------------------
On Jan. 24, 2016, 10:20 p.m., Kenneth Giusti wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42700/
> -----------------------------------------------------------
>
> (Updated Jan. 24, 2016, 10:20 p.m.)
>
>
> Review request for qpid, Alan Conway and Gordon Sim.
>
>
> Bugs: PROTON-1104
> https://issues.apache.org/jira/browse/PROTON-1104
>
>
> Repository: qpid-proton-git
>
>
> Description
> -------
>
> When a reactor's final connection is closed/released, new connections created on that reactor don't work properly. Specifically, the pn_reactor_wakeup() call fails. This can lead to the reactor thread "hanging" until the next configured timeout occurs.
>
> This is due to reactor destroying its internal timer selectable when the last connection is released. The timer finalize also closes the IPC pipe, rendering pn_reactor_wakeup() unable to work.
>
>
> Diffs
> -----
>
> proton-c/src/reactor/reactor.c 7ea279b
>
> Diff: https://reviews.apache.org/r/42700/diff/
>
>
> Testing
> -------
>
> Unit tests pass. reproducer pass.
>
> Need to check the python reactor examples.
>
>
> Thanks,
>
> Kenneth Giusti
>
>
Re: Review Request 42700: PROTON-1104 - move the deallocation and
cleanup of the reactor's timer to pn_reactor_stop,
do not close pipes until reactor is finalized.
Posted by Gordon Sim <gs...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42700/#review116069
-----------------------------------------------------------
Does the reactor still shut itself down when the last connection is removed?
- Gordon Sim
On Jan. 24, 2016, 10:20 p.m., Kenneth Giusti wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42700/
> -----------------------------------------------------------
>
> (Updated Jan. 24, 2016, 10:20 p.m.)
>
>
> Review request for qpid, Alan Conway and Gordon Sim.
>
>
> Bugs: PROTON-1104
> https://issues.apache.org/jira/browse/PROTON-1104
>
>
> Repository: qpid-proton-git
>
>
> Description
> -------
>
> When a reactor's final connection is closed/released, new connections created on that reactor don't work properly. Specifically, the pn_reactor_wakeup() call fails. This can lead to the reactor thread "hanging" until the next configured timeout occurs.
>
> This is due to reactor destroying its internal timer selectable when the last connection is released. The timer finalize also closes the IPC pipe, rendering pn_reactor_wakeup() unable to work.
>
>
> Diffs
> -----
>
> proton-c/src/reactor/reactor.c 7ea279b
>
> Diff: https://reviews.apache.org/r/42700/diff/
>
>
> Testing
> -------
>
> Unit tests pass. reproducer pass.
>
> Need to check the python reactor examples.
>
>
> Thanks,
>
> Kenneth Giusti
>
>