You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Pavel Moravec (JIRA)" <ji...@apache.org> on 2016/01/07 10:16:39 UTC

[jira] [Commented] (PROTON-1090) BlockingConnection client spins at 100% cpu on reconnect

    [ https://issues.apache.org/jira/browse/PROTON-1090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15087099#comment-15087099 ] 

Pavel Moravec commented on PROTON-1090:
---------------------------------------

Just a side-effect observation from the reproducer: testing it on downstream `python-qpid-proton-0.9-11.el7.x86_64`, I see also a memory consumption increase. I just run the reproducer and restart `qdrouterd` every 5 seconds.

I even backported one known mem.leak there by applying these patches:

https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=c799a29
https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=bbba61a

but the mem.increase persits.

Since I dont have upstream version of proton reactor, the mem.leak can be already fixed in upstream.

> BlockingConnection client spins at 100% cpu on reconnect
> --------------------------------------------------------
>
>                 Key: PROTON-1090
>                 URL: https://issues.apache.org/jira/browse/PROTON-1090
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c, python-binding
>    Affects Versions: 0.9.1, 0.12.0
>            Reporter: Ken Giusti
>            Priority: Blocker
>             Fix For: 0.12.0
>
>         Attachments: cputest.py
>
>
> Attached is a simple python client that connects to a server and waits forever for a message to be received, reconnecting on connection failure.
> When the server is restarted (in my case I'm using qdrouterd), the client reconnects then pins the cpu at 100%.   It appears as if the BlockingConnection.wait() method in util.py is the source of the busy loop.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)