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-628) [PATCH] Multiple connections per autoLink and linkRoute overwrites connection handle
Date Fri, 03 Feb 2017 16:22:52 GMT

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

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

Github user ted-ross commented on a diff in the pull request:

    https://github.com/apache/qpid-dispatch/pull/142#discussion_r99370107
  
    --- Diff: src/router_core/route_control.c ---
    @@ -396,7 +408,18 @@ void qdr_route_connection_closed_CT(qdr_core_t *core, qdr_connection_t
*conn)
                 al = DEQ_NEXT_N(REF, al);
             }
     
    -        cid->open_connection = 0;
    +        //
    +        // Remove our own entry in the connection list
    +        //
    +        qdr_connection_ref_t * cref = DEQ_HEAD(cid->connection_refs);
    +        while (cref) {
    +            if (cref->conn == conn) {
    +                DEQ_REMOVE(cid->connection_refs, cref);
    --- End diff --
    
    I believe this will leak one qdr_connection_ref_t each time it is run.  Why did you not
use qdr_del_connection_ref?



> [PATCH] Multiple connections per autoLink and linkRoute overwrites connection handle
> ------------------------------------------------------------------------------------
>
>                 Key: DISPATCH-628
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-628
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Router Node
>            Reporter: Ulf Lilleengen
>            Assignee: Ted Ross
>             Fix For: 0.8.0
>
>
> When implementing https://github.com/apache/qpid-dispatch/pull/111 I stumbled across
an issue with an autoLink or linkRoute only being able to refer to more than 1 connection,
which I assumed would originaly cause an assert in route_control.c:350 to trigger when I configured
an autoLink to trigger on a containerId and use the same container id when sharding a queue.
> Since the assert didn't trigger, I assumed that I must have misread the code, but nontheless
as part of the patch I made it possible for a linkRoute/autoLink to be associated with multiple
connections.
> Recently, I have seen some router crashes when scaling up and down queues in EnMasse,
and I just figured that the reason for this assert not triggering is that it is disabled in
the RelWithDebInfo configuration. 
> If built without optimizations (Debug), I'm able to trigger the issue with the configuration
in http://people.redhat.com/~ulilleen/bugs/routerconn/  
> To trigger, I startup the router and broker as so:
> qdrouterd -c router_incoming.conf
> export MESSAGING_SERVICE_HOST=localhost 
> export MESSAGING_SERVICE_PORT_INTERNAL=55673
> export QUEUE_NAME=myqueue
> export CONTAINER_ID=myqueue
> ./br/bin/simplebroker &
> ./br/bin/simplebroker
> I have extracted the patch from DISPATCH-476 and will create a PR with it.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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


Mime
View raw message