You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Marcel Meulemans <m....@tkhinnovations.com> on 2018/02/20 14:57:16 UTC

Dispatch router 1.0.0 seems to not always propagate link credit when using link routing

I am experiencing a problem while using the dispatch router as a proxy to
the artemis broker. I have done some investigation and it looks like the
dispatch router is not always forwarding link credit to the broker.

I have the following setup:
proton clients 0.9.0 (old, i know :p) <---> qdrouterd 1.0.0 <----> artemis
2.4.0

The clients are doing some anycast messaging between themselves and artemis
is providing some queues through which these messages are flowing. Qpid
dispatch is sitting in between and doing link routing (see the
qdrouterd.conf below). At around 100 clients (all connecting at the same
time) things start to go wrong, as in some message do not reach their
destinations (about 10% of the clients are effected). The messages actually
"hang" in artemis because artemis cannot deliver the messages because the
link the message should be delivered on has no credit. After some
investigation is looks like qdrouterd is not always forwarding the credit
given by the clients to the link-routing link it set up with artemis. I
have attached two trace logs from qdrouterd (formatted a bit so you can put
the side to side) illustrating the problem. The flow.log is the filtered
trace output showing a successful session, the no-flow.log is a failing
session. You can see in the failing session that the flow frames for two
newly attached links are not "forwarded" over the link-route link as I
expect they should (and which is the case in the successful session).

Am I doing something wrong or is this a bug?

Cheers,
Marcel


// qdrouterd.conf

router {
    mode: standalone
    id: arcbus.proxy
}

listener {
    host: 0.0.0.0
    port: 5672
    authenticatePeer: no
    saslMechanisms: ANONYMOUS
}

connector {
    name: broker-service
    host: 127.0.0.1
    port: 5670
    role: route-container
    saslMechanisms: ANONYMOUS
}

linkRoute {
    name: anycast-to-broker
    prefix: anycast.
    dir: out
    connection: broker-service
}

linkRoute {
    name: anycast-from-broker
    prefix: anycast.
    dir: in
    connection: broker-service
}

Re: Dispatch router 1.0.0 seems to not always propagate link credit when using link routing

Posted by Ted Ross <tr...@redhat.com>.
Marcel,

I don't see anything that you are doing wrong in this case.  I will
see if I can reproduce your result.

-Ted

On Tue, Feb 20, 2018 at 9:57 AM, Marcel Meulemans
<m....@tkhinnovations.com> wrote:
> I am experiencing a problem while using the dispatch router as a proxy to
> the artemis broker. I have done some investigation and it looks like the
> dispatch router is not always forwarding link credit to the broker.
>
> I have the following setup:
> proton clients 0.9.0 (old, i know :p) <---> qdrouterd 1.0.0 <----> artemis
> 2.4.0
>
> The clients are doing some anycast messaging between themselves and artemis
> is providing some queues through which these messages are flowing. Qpid
> dispatch is sitting in between and doing link routing (see the
> qdrouterd.conf below). At around 100 clients (all connecting at the same
> time) things start to go wrong, as in some message do not reach their
> destinations (about 10% of the clients are effected). The messages actually
> "hang" in artemis because artemis cannot deliver the messages because the
> link the message should be delivered on has no credit. After some
> investigation is looks like qdrouterd is not always forwarding the credit
> given by the clients to the link-routing link it set up with artemis. I have
> attached two trace logs from qdrouterd (formatted a bit so you can put the
> side to side) illustrating the problem. The flow.log is the filtered trace
> output showing a successful session, the no-flow.log is a failing session.
> You can see in the failing session that the flow frames for two newly
> attached links are not "forwarded" over the link-route link as I expect they
> should (and which is the case in the successful session).
>
> Am I doing something wrong or is this a bug?
>
> Cheers,
> Marcel
>
>
> // qdrouterd.conf
>
> router {
>     mode: standalone
>     id: arcbus.proxy
> }
>
> listener {
>     host: 0.0.0.0
>     port: 5672
>     authenticatePeer: no
>     saslMechanisms: ANONYMOUS
> }
>
> connector {
>     name: broker-service
>     host: 127.0.0.1
>     port: 5670
>     role: route-container
>     saslMechanisms: ANONYMOUS
> }
>
> linkRoute {
>     name: anycast-to-broker
>     prefix: anycast.
>     dir: out
>     connection: broker-service
> }
>
> linkRoute {
>     name: anycast-from-broker
>     prefix: anycast.
>     dir: in
>     connection: broker-service
> }
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org

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