[ 
https://issues.apache.org/jira/browse/DISPATCH-341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15293865#comment-15293865
 ] 

ASF GitHub Bot commented on DISPATCH-341:
-----------------------------------------

Github user ganeshmurthy commented on a diff in the pull request:

    https://github.com/apache/qpid-dispatch/pull/76#discussion_r64082133
  
    --- Diff: src/router_core/connections.c ---
    @@ -188,7 +188,10 @@ int qdr_connection_process(qdr_connection_t *conn)
             sys_mutex_unlock(conn->work_lock);
     
             if (link) {
    -            core->flow_handler(core->user_context, link, 
link->incremental_credit);
    +            if (link->drain_mode)
    +                core->drained_handler(core->user_context, link);
    +            else
    --- End diff --
    
    I removed the else and made it 2 if statements


> router did not respond to request to drain a message-routed consumers link 
> credit
> ---------------------------------------------------------------------------------
>
>                 Key: DISPATCH-341
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-341
>             Project: Qpid Dispatch
>          Issue Type: Bug
>    Affects Versions: 0.6.0
>         Environment: Qpid Dispatch 0.6.0 RC3
> Qpid JMS 0.10.0-SNAPSHOT
>            Reporter: Robbie Gemmell
>            Assignee: Ganesh Murthy
>
> With a router using the provided default config (updated only to set 
> saslMechanisms to ANONYMOUS), and attaching a sender and receiver (using the 
> JMS client Sender and Receiver examples) to the address "queue" (so 
> presumably using messge routing), it could be seen that Dispatch didn't 
> respond to requests to drain the receivers link.
> In one case, after receiving some messages, a 'drain requst' flow is issued, 
> but neither enough messages to use the credit (expected since no more were 
> sent) or a 'drain reponse' flow are received, just heartbeating back and 
> forth.
> {noformat}
> [1925974223:1] -> Disposition{role=RECEIVER, first=8, last=8, settled=true, 
> state=Accepted{}, batchable=false}
> [1925974223:1] -> Flow{nextIncomingId=9, incomingWindow=2047, 
> nextOutgoingId=1, outgoingWindow=2147483647, handle=0, deliveryCount=9, 
> linkCredit=991, available=null, drain=true, echo=false, properties=null}
> [1925974223:0] -> Empty Frame
> [1925974223:0] -> Empty Frame
> [1925974223:0] <- Empty Frame
> {noformat}
> In another case, after flowing some credit but not receiving any messages, a 
> 'drain request' is issued, but neither enough messages to use the credit 
> (expected since none were sent) or a 'drain reponse' flow are received, just 
> heartbeating back and forth.
> {noformat}
> [2111953084:1] -> Flow{nextIncomingId=0, incomingWindow=2047, 
> nextOutgoingId=1, outgoingWindow=2147483647, handle=0, deliveryCount=0, 
> linkCredit=1000, available=null, drain=false, echo=false, properties=null}
> [2111953084:1] -> Flow{nextIncomingId=0, incomingWindow=2047, 
> nextOutgoingId=1, outgoingWindow=2147483647, handle=0, deliveryCount=0, 
> linkCredit=1000, available=null, drain=true, echo=false, properties=null}
> [2111953084:0] -> Empty Frame
> [2111953084:0] -> Empty Frame
> [2111953084:0] <- Empty Frame
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to