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:16:16 UTC

Review Request 42700: PROTON-1104 - move the deallocation and cleanup of the reactor's timer and IPC pipe to pn_reactor_stop

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

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.


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
> 
>


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 Kenneth Giusti <kg...@apache.org>.
-----------------------------------------------------------
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 pn_reactor_stop

Posted by Kenneth Giusti <kg...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42700/
-----------------------------------------------------------

(Updated Jan. 24, 2016, 10:17 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 pn_reactor_stop


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.


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