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

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

kgiusti commented on pull request #689: DISPATCH-1576: Avoid Q2/Q3 flow control 
on router control links
URL: https://github.com/apache/qpid-dispatch/pull/689#discussion_r381479334
 
 

 ##########
 File path: src/router_node.c
 ##########
 @@ -1381,12 +1381,16 @@ static void CORE_link_first_attach(void             
*context,
     //
     pn_link_open(qd_link_pn(qlink));
 
+    // DISPATCH-1460, DISPATCH-1576 Do not block router control messages.
+    // Control messages must be received in their entirety before they are
+    // consumed. Flow controlling such messages mean they will never fully
+    // arrive thus never be consumed (therefore flow control is never
+    // released).
     //
-    // All links on the inter router or edge connection have unbounded q2 
limit.
-    // Blocking control messages can lead to various failures
-    //
-    if (qdr_connection_role(conn) == QDR_ROLE_EDGE_CONNECTION || 
qdr_connection_role(conn) == QDR_ROLE_INTER_ROUTER) {
+    const qd_link_type_t lt = qdr_link_type(link);
+    if (lt == QD_LINK_CONTROL || lt == QD_LINK_EDGE_DOWNLINK) {
 
 Review comment:
   This ignores a class of locally terminated link: the core endpoint links 
established by the core.  Perhaps those types of links should be 
QD_LINK_CONTROL rather than ENDPOINT?
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Disable Q2/Q3 on router control links
> -------------------------------------
>
>                 Key: DISPATCH-1576
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1576
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Router Node
>    Affects Versions: 1.10.0
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 1.11.0
>
>
> Refine the fix for DISPATCH-1460: Disable flow control on a per-link basis 
> rather than for an entire connection.
> This patch reduces the scope of Qx flow control disable by only disabling it 
> on links that carry router control messages.  These messages are not consumed 
> until they have been received in their entirety, which mean that if they are 
> flow controlled the messages will never be consumed.
>  



--
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