You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (Jira)" <ji...@apache.org> on 2022/02/14 18:02:00 UTC
[jira] [Updated] (PROTON-2353) Client becomes cpu bound in pn_buffer_rotate() on session flow control
[ https://issues.apache.org/jira/browse/PROTON-2353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robbie Gemmell updated PROTON-2353:
-----------------------------------
Fix Version/s: (was: proton-c-0.37.0)
> Client becomes cpu bound in pn_buffer_rotate() on session flow control
> ----------------------------------------------------------------------
>
> Key: PROTON-2353
> URL: https://issues.apache.org/jira/browse/PROTON-2353
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Affects Versions: proton-c-0.33.0, proton-c-0.35.0, proton-c-0.34.0, proton-c-0.36.0
> Reporter: Ken Giusti
> Priority: Major
> Attachments: big-session.svg, qdrouterd.conf, small-session.svg
>
>
> While testing various AMQP session size limitations on the Qpid dispatch router I was able to cause a proton-c client to pin the CPU at 100% while in pn_buffer_rotate().
> This appears to be caused by lowering the incoming session window to a point where session flow control activates. In the case of my reproducer I'm setting the window size to approx 600 16K frames ~9.8MB. The client is sending ~1MB messages with a credit window of 250.
>
> See the attached flamegraphs of the sending client:
> First - this is baseline, no session limit (default provided by proton):
> [^big-session.svg]
>
> This flamegraph shows the client's behavior with a session limit of 9.8MB:
> [^small-session.svg]
>
> See comment for reproducer.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org