qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (Jira)" <j...@apache.org>
Subject [jira] [Commented] (DISPATCH-1540) multiframe presettled messages not included in presettled count on downstream router
Date Mon, 13 Jan 2020 15:01:00 GMT

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

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

kgiusti commented on pull request #658: DISPATCH-1540 - Set the pre-settled flag appropriately
on a delivery …
URL: https://github.com/apache/qpid-dispatch/pull/658#discussion_r365850091
 
 

 ##########
 File path: src/router_core/delivery.c
 ##########
 @@ -201,8 +201,16 @@ void qdr_delivery_remote_state_updated(qdr_core_t *core, qdr_delivery_t
*deliver
 }
 
 
-qdr_delivery_t *qdr_deliver_continue(qdr_core_t *core,qdr_delivery_t *in_dlv)
+qdr_delivery_t *qdr_deliver_continue(qdr_core_t *core,qdr_delivery_t *in_dlv, bool settled)
 {
+    //
+    // If the delivery is already pre-settled, don't do anything with the pre-settled flag.
+    //
+    // If the in_delivery was not pre-settled, you can go to pre-settled.
+    if (! in_dlv->presettled && settled) {
+        in_dlv->presettled = settled;
 
 Review comment:
   This is (technically) a possible race condition.  This method runs under the I/O thread
which should not be modifying qdr_delivery_t state directly.
   
   It would be better to pass along the presettled flag in the action.   I suggest considering
changing the existing code to use the action->args.delivery action structure (adding a
pre-settled flag there) instead of the args.connection structure.
 
----------------------------------------------------------------
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:
users@infra.apache.org


> multiframe presettled messages not included in presettled count on downstream router

> -------------------------------------------------------------------------------------
>
>                 Key: DISPATCH-1540
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1540
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Container
>    Affects Versions: 1.10.0
>            Reporter: Gordon Sim
>            Assignee: Ganesh Murthy
>            Priority: Major
>             Fix For: 1.11.0
>
>
> Set up two routers connected to each other. Attach receiver to one, sender to the other
and send a large message (such that it is sent as multiple transfer frames).
>  
> Then look at the inter-router link stats for each router. The downstream router (i.e.
that to which receiver is attached), does not record the delivery as presettled.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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


Mime
View raw message