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

2016-01-08 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on PROTON-1090:
-

Commit 25d39a8e9cbf4846f23e4e58175d902924ec1a30 in qpid-proton's branch 
refs/heads/master from [~gsim]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=25d39a8 ]

PROTON-1090: fix reactor timer pipe cleanup to prevent 100% cpu spin


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


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

2016-01-07 Thread Pavel Moravec (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-1090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)


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

2016-01-07 Thread Pavel Moravec (JIRA)

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

Pavel Moravec commented on PROTON-1090:
---

Yet another observation: the problem sounds to be on link level, not connection 
level (I *think*).

I reproduced the same when having link routing in qdrouterd to qpid C++ broker, 
and the reproducer script in fact created a link via qdrouterd to qpidd. Then I 
was bouncing qpid _broker_. Not qdrouterd but qpidd. With lower probability 
than bouncing qdrouterd, I got spinning CPU and same backtraces.

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


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

2016-01-07 Thread Gordon Sim (JIRA)

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

Gordon Sim commented on PROTON-1090:


fix proposed here: https://reviews.apache.org/r/42033/

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