You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by kapilaArora <ka...@in.ibm.com> on 2017/05/11 11:14:58 UTC

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

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.

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

Posted by Robbie Gemmell <ro...@gmail.com>.
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 <ka...@in.ibm.com> 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: 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


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

Posted by kapilaArora <ka...@in.ibm.com>.
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: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


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

Posted by kapilaArora <ka...@in.ibm.com>.
Hi Rob,  We followed your suggestion  by setting jms.prefetchPolicy.all=1 
and this solution help us to resolve the message re-delivery  and  out of
memory issue for AMQP Connectivity . 

We are running this connectivity now from all most more than a month and see
that , it is smooth and stable now.  

Thanks for your suggestions/directions for helping us to stablize this AMQP
Connecitivity with Azure Service Bus.  




--
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-tp7663045p7664603.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

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


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

Posted by Robbie Gemmell <ro...@gmail.com>.
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 <ka...@in.ibm.com> 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: 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


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

Posted by kapilaArora <ka...@in.ibm.com>.
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: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


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

Posted by kapilaArora <ka...@in.ibm.com>.
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 ?





--
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-tp7663045p7663093.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

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


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

Posted by Robbie Gemmell <ro...@gmail.com>.
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 <ka...@in.ibm.com> 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: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org