Receing re-delivered messages using Qpid JMS 0.11.1 with Azure Service Bus AMQP Connectivity

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Receing re-delivered messages using Qpid JMS 0.11.1 with Azure Service Bus AMQP Connectivity

kapilaArora
First Part - Currently we are using Qpid JMS 0.11.1 to connect the Azure service bus . this connectivity is going on the PEEK_LOCK Mode with Azure Service bus using Qpid JMS 0.11.1 When we are receiving the messages , We are receiving the Re-delivered messages with delivery count >0 and many messages are moving in the deadletterqueue on service bus as well . how we can make this connectivity without receiving the re-delivered messages and without data loss. Second part - how we can switch this connectivity from PEEK_LOCK to Receive and delete mode for azure service bus using JMS Qpid 0.11.1 , is there any way , we can change it ?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Receing re-delivered messages using Qpid JMS 0.11.1 with Azure Service Bus AMQP Connectivity

Robbie Gemmell
Administrator
If you receive messages with an AMQP delivery-count value greater than
0, then its likely either the server has incremented it due to some
prior behaviour (e.g sent to a client, not consumed, returned to
server), or alternatively there is bug in play. Sending a single
message though and consuming it immediately with a single active
consumer that remains live the entire time could answer which of those
it is.

I don't know how, or whether its even possible, to disable the Azure
Service Bus server-side 'peek locking'. Perhaps their documentation or
support can assist you there.

Robbie

On 11 May 2017 at 12:14, kapilaArora <[hidden email]> wrote:

> First Part -  Currently we are using Qpid JMS 0.11.1 to connect the Azure
> service bus . this connectivity is going on the PEEK_LOCK Mode with Azure
> Service bus using Qpid JMS 0.11.1 When we are receiving the messages , We
> are receiving the Re-delivered messages with delivery count >0 and many
> messages are moving in the deadletterqueue on service bus as well . how we
> can make this connectivity  without receiving the re-delivered messages and
> without data loss.Second part - how we can switch this connectivity from
> PEEK_LOCK to Receive and delete mode for azure service bus using JMS Qpid
> 0.11.1 , is there any way , we can change it ?
>
>
>
> --
> View this message in context: http://qpid.2158936.n2.nabble.com/Receing-re-delivered-messages-using-Qpid-JMS-0-11-1-with-Azure-Service-Bus-AMQP-Connectivity-tp7663045.html
> Sent from the Apache Qpid users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Receing re-delivered messages using Qpid JMS 0.11.1 with Azure Service Bus AMQP Connectivity

kapilaArora
Actually I am trying to understand if we can connect Azure Service bus AMQP Server  using Qpid JMS  with receive and Delete option . if there is some configuration with QPID JMS  ,that can help us to connect to service bus in receive and delete mode.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Receing re-delivered messages using Qpid JMS 0.11.1 with Azure Service Bus AMQP Connectivity

Robbie Gemmell
Administrator
The 'peek and lock' functionality is a server-side behaviour of
Service Bus. The client is not really aware of it, it is doing simple
'unsettled' AMQP message transfers and acknowledgements as it does
agaisnt any other server. If there is a way to change the server
behaviour, I dont know, I'm not familiar with it enough to say. As
mentioned, maybe Microsoft or their documentation can help you finding
out.

If there is a way and it involves the client doing something special
it wouldnt normally do, then maybe at that point it would become
something I might be able to assist with saying whether it can
actually do that or not.

On 11 May 2017 at 13:27, kapilaArora <[hidden email]> wrote:

> Actually I am trying to understand if we can connect Azure Service bus AMQP
> Server  using Qpid JMS  with receive and Delete option . if there is some
> configuration with QPID JMS  ,that can help us to connect to service bus in
> receive and delete mode.
>
>
>
>
>
>
>
> --
> View this message in context: http://qpid.2158936.n2.nabble.com/Receing-re-delivered-messages-using-Qpid-JMS-0-11-1-with-Azure-Service-Bus-AMQP-Connectivity-tp7663045p7663047.html
> Sent from the Apache Qpid users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Receing re-delivered messages using Qpid JMS 0.11.1 with Azure Service Bus AMQP Connectivity

kapilaArora
In reply to this post by Robbie Gemmell

Hi Rob,

When you say ,then its likely either the server has incremented it due to some
prior behavior (e.g sent to a client, not consumed, returned to
server).  

Sent to Client  and not consumed , Why this is not be consuming ?  Anything which Qpid JMS APIs are missing to handle ?   Or JMS Client needs to act in this one ?

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Receing re-delivered messages using Qpid JMS 0.11.1 with Azure Service Bus AMQP Connectivity

kapilaArora
This post was updated on .
Hi Rob,

We do further test and understood behavior of  AMQP Client ( Apache Qpid JMS  and JMS Receiver ) .
When data is keep coming on the AMQP Server -Queues/topics-  AMQP Client is able to receive and process the data successfully long running hrs without any fail or re-delivery of messages.
When huge volume of data accumulated on the AMQP Server- Queues/topics.  AMQP Client receive the re-delivered messages as well as  some time it went out of memory  as well.

We had increased the memory for these process , Still we can see some amount of  Message redelivery and out of memory  .

As per behavior  , it's looking like AMQP Client buffering some amount of  messages in the memory (available on AMQP server -queues/topic ) and going out of memory .

is there any configuration with Qpid JMS  that can handle control the buffering of messages available on the AMQP server whenever this AMQP Connectivity resumes so that AMQP client doesn't go out of memory ?  

Current Connection-factory is this on our side for QPID JMS 0.11.1
amqps://<hostnamewithdomain>?amqp.idleTimeout=150000&jms.username=<username>&jms.password=<pwd>&jms.receiveLocalOnly=true

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Receing re-delivered messages using Qpid JMS 0.11.1 with Azure Service Bus AMQP Connectivity

Robbie Gemmell
Administrator
You could try setting the prefetch to 1, e.g updating your uri with:
jms.prefetchPolicy.all=1.  From your description it sounds like you
may be hitting https://issues.apache.org/jira/browse/QPIDJMS-292.
Setting it to 0 won't work against Service Bus until it implements the
AMQP 1.0 link 'drain' functionality, which the earlier discussion on
https://issues.apache.org/jira/browse/QPID-7767 suggests it still
doesn't.

On 20 May 2017 at 01:30, kapilaArora <[hidden email]> wrote:

> Hi Rob,
>
> We do further test and understood behavior of  AMQP Client ( Apache Qpid JMS
> and JMS Receiver ) .
> When data is keep coming on the AMQP Server -Queues/topics-  AMQP Client is
> able to receive and process the data successfully long running hrs without
> any fail or re-delivery of messages.
> When huge volume of data accumulated on the AMQP Server- Queues/topics.
> AMQP Client receive the re-delivered messages as well as  some time it went
> out of memory  as well.
>
> We had increased the memory for these process , Still we can see some amount
> of  Message redelivery and out of memory  .
>
> As per behavior  , it's looking like its buffering all the messages in the
> memory (available on AMQP server -queues/topic ) .
>
> Can we apply some configuration on QPID JMS to handle messages by message
> processing instead of the way currently it is behaving so that we can get
> rid of this message re-delivery and memory issue as well ?
>
> Current Connection-factory is this on our side for QPID JMS 0.11.1
> amqps://<hostnamewithdomain>?amqp.idleTimeout=150000&jms.username=<username>&jms.password=<pwd>&jms.receiveLocalOnly=true
>
>
>
>
>
> --
> View this message in context: http://qpid.2158936.n2.nabble.com/Receing-re-delivered-messages-using-Qpid-JMS-0-11-1-with-Azure-Service-Bus-AMQP-Connectivity-tp7663045p7663257.html
> Sent from the Apache Qpid users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Loading...