Chuck Rolke created PROTON-1521:
-----------------------------------

             Summary: [c proactor] sender stalls responding to Flow opening 
incomingWindow
                 Key: PROTON-1521
                 URL: https://issues.apache.org/jira/browse/PROTON-1521
             Project: Qpid Proton
          Issue Type: Bug
          Components: proton-c
    Affects Versions: 0.17.0
         Environment: Fedora 25
            Reporter: Chuck Rolke


A test program uses examples/c/proactor/send.c and receive.c to source and sink 
messages.
The program advertises small limits (Open - max-frame-size=16384, Begin - 
incoming-window=16) in response to the link created by program send. Program 
send is revised to send 4 Mb messages.

Over the wire the send program blasts 16 16Kbyte frames and then stops due to a 
closed session window. The test program handles the data and then issues a flow 
with room for some number of frames in the incoming window. Then the send 
program takes on the order of 0.15 seconds before it starts sending again. 
During that time send is not processing any proton events. This is the issue: 
why does the proactor send program not start sending again when the Flow is 
received?

The failing send.c program is nearly identical to examples/c/proactor/send.c 
but you can get to my development set at 
https://github.com/ChugR/qpid-proton/tree/event-instrumeter/examples/c/proactor

A network trace shows:
{noformat}
Frame: 45 11.246624   ->  transfer [0,0] (0) credit -> 100 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 46 11.246637   ->  transfer [0,0] (0) credit -> 100 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 54 11.246965  <-   flow [0,0] (1,99) credit -> 99
Frame: 74 11.417271   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 75 11.417315   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 77 11.417353   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 78 11.417374   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 80 11.417409   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 81 11.417440   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 83 11.417473   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 84 11.417491   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 86 11.417516   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 87 11.417530   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 89 11.417550   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 90 11.417751  <-   flow [0,0] (1,99) credit -> 99
Frame: 106 11.575295   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
Frame: 107 11.575334   ->  transfer [0,0] (0) credit -> 99 {(txSettled: False) 
(DISP: <-   settled:True, accepted)}
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to