Ken Giusti created PROTON-2353:
----------------------------------
Summary: 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
Reporter: Ken Giusti
Fix For: proton-c-0.34.0
Attachments: big-session.svg, 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.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]