On Thu, Aug 29, 2019 at 2:20 PM Ganesh Murthy <gmur...@redhat.com> wrote:

> On Thu, Aug 29, 2019 at 1:50 PM Lohmann Carsten (INST/ECS4) <
> carsten.lohm...@bosch-si.com> wrote:
>
> > Hi,
> >
> > I've a question regarding the following scenario:
> >
> > we have a network of 3 Qpid dispatch router instances.
> > A client is connected to router instance A and has opened a receiver link
> > on address addrA.
> > *After* having received the ATTACH frame for this,
> > another client on another machine which is connected to router instance B
> > opens a sender link on the empty address (anonymous relay).
> > After receiving credit, a message with the "To" address "addrA" is sent
> on
> > this sender link.
> >
> > With this, we frequently get a rejected disposition from the router:
> > Disposition{role=RECEIVER, first=2, last=null, settled=false,
> > state=Rejected{error=Error{condition=amqp:not-found,
> > description='Deliveries cannot be sent to an unavailable address',
> > info=null}}, batchable=false}
> >
> > Adding a delay before sending the message causes the message to be
> > accepted.
> >
> >
> > Is it correct to assume that "rejected" disposition will come when the
> > information about the "addrA" receiver on router A has not been
> propagated
> > yet to router B?
> >
> Yes, that is a correct assumption.
>
> > Is there some way to know for the message sender when it is safe to send
> > the message on the anonymous relay link without it getting rejected?
> >
> You could run a qdstat -a on the router B and make sure you see your
> address before starting to send on the anonymous link.
>
> Thanks.
>
>
Or you can re-try the send at some point.
Usually the router returns a Released disposition when it cannot forward a
message (as in this case the address hasn't been propagated to the router).

A "Released" disposition means the message definitely has not been acted
upon my any receiver, so it can be re-transmitted without risk of
duplication.

The reason you see Rejected instead is your router has configured the
"defaultDistribution" configuration option to "unavailable".  That forces
the router to reject any message that cannot be forwarded.


> >
> >
> > (Using Qpid Dispatch Router 1.7.0, as part of EnMasse.)
> >
> >
> > Best regards
> >
> > Carsten Lohmann
> >
> > Engineering Cloud Services 4 Bosch IoT Hub (INST/ECS4)
> > Bosch Software Innovations GmbH | Ullsteinstr. 128 | 12109 Berlin |
> > GERMANY | www.bosch-si.com
> >
> > Sitz: Berlin, Registergericht: Amtsgericht Charlottenburg; HRB 148411 B
> > Aufsichtsratsvorsitzender: Dr.-Ing. Thorsten Lücke; Geschäftsführung: Dr.
> > Stefan Ferber, Michael Hahn, Dr. Aleksandar Mitrovic
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> > For additional commands, e-mail: users-h...@qpid.apache.org
> >
> >
>


-- 
-K

Reply via email to