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]

Reply via email to