You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by surya prakash <as...@gmail.com> on 2011/09/29 09:31:54 UTC

problem with Qpidd

Hi,

         I am newly using qpidd .I installed qpidd and third party storage
application and i am able to use durable queues also ,what my observation is
for sending(asynchronously ) it is giving very good TPS .but receive is not
giving half of sending TPS

My problem is when i am sending with that TPS some messages are some time
staying in TCP socket if that time qpidd is got killed means i am losing
that data .can you give me solution for this problem.

-- 

**
*Thanks and Regards,*
*A.SURYA PRAKASH REDDY*
*
*

Re: problem with Qpidd

Posted by surya prakash <as...@gmail.com>.
Hi ,

I am facing some problem like duplicate entry's coming when qpidd
restarted.from sending there is no duplicate entry's when receiving
duplicate entry's are coming can you solve this problem.

Best Regards,
A.SURYA PRAKASH REDDY

Re: problem with Qpidd

Posted by Gordon Sim <gs...@redhat.com>.
On 09/30/2011 12:09 PM, surya prakash wrote:
> 1)by using sender i am sending messages with High TPS like 10000-15000.and
> receiver only able to receive 5000-6000 only.
> *How i tested:*i sent 1000000 messages using one simple sender application
> ,it sent those messages very fast.but the receiver is not able to receive
> data continuously not receiving,how to solve this problem and what may the
> cause for this.

Did you change your subscription settings?

> 2)when i am testing with sender and receiver application in between i killed
> and restarted qpidd in this case duplicate entrys are comming.

That is expected. Currently only at-least-once is supported (not 
exactly-once). This means you need to be prepared to do any 
de-duplication in your application. How best to do so will depend on 
your use case but again you can look at the failover example for one 
approach using the qpid::client API.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: problem with Qpidd

Posted by surya prakash <as...@gmail.com>.
hi ,

I am facing two more problems
1)by using sender i am sending messages with High TPS like 10000-15000.and
receiver only able to receive 5000-6000 only.
*How i tested:*i sent 1000000 messages using one simple sender application
,it sent those messages very fast.but the receiver is not able to receive
data continuously not receiving,how to solve this problem and what may the
cause for this.
2)when i am testing with sender and receiver application in between i killed
and restarted qpidd in this case duplicate entrys are comming.

In the above two cases i tested with *Message Listener* and *Local Queue*
((*I used qpid::client API*))

On Thu, Sep 29, 2011 at 7:43 PM, Gordon Sim <gs...@redhat.com> wrote:

> On 09/29/2011 02:23 PM, surya prakash wrote:
>
>> i need to use persistence queues is it possible with client::messaging
>> API.
>>
>
> Yes, you just need to declare your queues as durable and set the messages
> to be persistent (msg.getDeliveryProperties().**
> setDeliveryMode(DELIVERY_MODE_**PERSISTENT))
>
>  can you share me any example which is using "MessageReplayTracker class"
>>
>
> Have a look under examples/old_api/failover.
>
> I would strongly suggest considering the messaging API however, as I
> believe you will find it easier.
>
>
> ------------------------------**------------------------------**---------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.**apache.org<us...@qpid.apache.org>
>
>


-- 

**
*Thanks and Regards,*
*A.SURYA PRAKASH REDDY*
***Ph.No:+91 7676724614*

Re: problem with Qpidd

Posted by Gordon Sim <gs...@redhat.com>.
On 09/30/2011 06:37 AM, surya prakash wrote:
> In qpid::messaging API i didn't found queue declare things ,so that i moved
> to qpid::client API

For creating queues you have a number of options to chose from depending 
on the different use cases.

(1) For pub-sub subscriptions, the library will take care of the declare 
and bind for you. So if you wish to get all messages matching a 
particular key - say my-key, sent to a particular exchange - say 
my-exchange -  you simply create a receiver with address 
'my-exchange/my-key'. (You can use the same address for senders of course).

(2) To create a response queue in a request-response pattern, the 
address options allow you to have the queue created on demand when 
opening the receiver (or indeed a sender, though less obviously useful 
in this particular pattern). This approach also lets you control the 
underlying declare (in the case of AMQP 0-10) E.g. you can create a 
receiver for the address 'my-queue; {create: always, 
node:{x-declare:{auto-delete:True}}}'

(3) You can use the qpid-config tool to create exchanges, queues and 
bindings statically, separate from your application logic. This is often 
a good idea.

(4) The tools as above use a message-based protocol - QMF - which you 
can also use directly (or through a separate QMF API). This is an area 
that needs better documentation but the following mail should provide 
sufficient pointers should this be appropriate to your needs: 
http://apache-qpid-users.2158936.n2.nabble.com/Delete-queue-exchange-binding-from-C-client-tp6472921p6473491.html

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: problem with Qpidd

Posted by surya prakash <as...@gmail.com>.
In qpid::messaging API i didn't found queue declare things ,so that i moved
to qpid::client API




On Thu, Sep 29, 2011 at 7:43 PM, Gordon Sim <gs...@redhat.com> wrote:

> On 09/29/2011 02:23 PM, surya prakash wrote:
>
>> i need to use persistence queues is it possible with client::messaging
>> API.
>>
>
> Yes, you just need to declare your queues as durable and set the messages
> to be persistent (msg.getDeliveryProperties().**
> setDeliveryMode(DELIVERY_MODE_**PERSISTENT))
>
>  can you share me any example which is using "MessageReplayTracker class"
>>
>
> Have a look under examples/old_api/failover.
>
> I would strongly suggest considering the messaging API however, as I
> believe you will find it easier.
>
>
> ------------------------------**------------------------------**---------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.**apache.org<us...@qpid.apache.org>
>
>


-- 

**
*Thanks and Regards,*
*A.SURYA PRAKASH REDDY*
***Ph.No:+91 7676724614*

Re: problem with Qpidd

Posted by Gordon Sim <gs...@redhat.com>.
On 09/29/2011 02:23 PM, surya prakash wrote:
> i need to use persistence queues is it possible with client::messaging API.

Yes, you just need to declare your queues as durable and set the 
messages to be persistent 
(msg.getDeliveryProperties().setDeliveryMode(DELIVERY_MODE_PERSISTENT))

> can you share me any example which is using "MessageReplayTracker class"

Have a look under examples/old_api/failover.

I would strongly suggest considering the messaging API however, as I 
believe you will find it easier.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: problem with Qpidd

Posted by surya prakash <as...@gmail.com>.
i need to use persistence queues is it possible with client::messaging API.
can you share me any example which is using "MessageReplayTracker class"





On Thu, Sep 29, 2011 at 5:24 PM, Gordon Sim <gs...@redhat.com> wrote:

> On 09/29/2011 12:12 PM, surya prakash wrote:
>
>> default only
>>
>
> To improve performance, try batching acknowledgements by setting autoAck to
> a higher value (e.g. 50).
>
> Regarding the second problem, the issue as I understand it is that you are
> losing messages when qpidd is killed and restarted? Assuming your messages
> are marked persistent, and this relates only to in-doubt messages, i.e.
> those that you have sent but that the broker has not yet processed when
> killed/crashed, you need the client application to resend them.
>
> Using the qpid::messaging API makes this simpler in my opinion. If you have
> not gone too far with qpid::client, I would advise to at least consider
> siwtching to that API.
>
> If that is not possible, you can take a look at the MessageReplayTracker
> class in the qpid::client namespace.
>
> Hope this helps...
>
>
>
> ------------------------------**------------------------------**---------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.**apache.org<us...@qpid.apache.org>
>
>


-- 

**
*Thanks and Regards,*
*A.SURYA PRAKASH REDDY*
***Ph.No:+91 7676724614*

Re: problem with Qpidd

Posted by Gordon Sim <gs...@redhat.com>.
On 09/29/2011 12:12 PM, surya prakash wrote:
> default only

To improve performance, try batching acknowledgements by setting autoAck 
to a higher value (e.g. 50).

Regarding the second problem, the issue as I understand it is that you 
are losing messages when qpidd is killed and restarted? Assuming your 
messages are marked persistent, and this relates only to in-doubt 
messages, i.e. those that you have sent but that the broker has not yet 
processed when killed/crashed, you need the client application to resend 
them.

Using the qpid::messaging API makes this simpler in my opinion. If you 
have not gone too far with qpid::client, I would advise to at least 
consider siwtching to that API.

If that is not possible, you can take a look at the MessageReplayTracker 
class in the qpid::client namespace.

Hope this helps...


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: problem with Qpidd

Posted by surya prakash <as...@gmail.com>.
default only

On Thu, Sep 29, 2011 at 4:38 PM, Gordon Sim <gs...@redhat.com> wrote:

> On 09/29/2011 12:06 PM, surya prakash wrote:
>
>> i am using qpid::client API
>>
>
> Ok. What SubscriptionSettings are you using for your subscription(s)?
>
> ------------------------------**------------------------------**---------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.**apache.org<us...@qpid.apache.org>
>
>


-- 

**
*Thanks and Regards,*
*A.SURYA PRAKASH REDDY*
***Ph.No:+91 7676724614*

Re: problem with Qpidd

Posted by Gordon Sim <gs...@redhat.com>.
On 09/29/2011 12:06 PM, surya prakash wrote:
> i am using qpid::client API

Ok. What SubscriptionSettings are you using for your subscription(s)?

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: problem with Qpidd

Posted by surya prakash <as...@gmail.com>.
Hi,

gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)
and i am using qpid::client API

On Thu, Sep 29, 2011 at 3:48 PM, Gordon Sim <gs...@redhat.com> wrote:

> On 09/29/2011 10:53 AM, surya prakash wrote:
>
>> i am using qpidd-10 library and cpp broker
>>
>
> The c++ library? And the qpid::messaging API?
>
>
>> On Thu, Sep 29, 2011 at 1:14 PM, Gordon Sim<gs...@redhat.com>  wrote:
>>
>>  On 09/29/2011 08:31 AM, surya prakash wrote:
>>>
>>>  Hi,
>>>>
>>>>          I am newly using qpidd .I installed qpidd and third party
>>>> storage
>>>> application and i am able to use durable queues also ,what my
>>>> observation
>>>> is
>>>> for sending(asynchronously ) it is giving very good TPS .but receive is
>>>> not
>>>> giving half of sending TPS
>>>>
>>>>
>>> What client library&  API are you using?
>>>
>>>
>>>
>>>  My problem is when i am sending with that TPS some messages are some
>>> time
>>>
>>>> staying in TCP socket if that time qpidd is got killed means i am losing
>>>> that data .can you give me solution for this problem.
>>>>
>>>>
>>> That sounds like you need acknowledged transfer. If you tell us what
>>> library and API you are using (and perhaps a little more detail on how
>>> you
>>> are using it) then we can advise how to chnage your configuration.
>>>
>>> ------------------------------****----------------------------**
>>> --**---------
>>>
>>> Apache Qpid - AMQP Messaging Implementation
>>> Project:      http://qpid.apache.org
>>> Use/Interact: mailto:users-subscribe@qpid.****apache.org<http://apache.org>
>>> <users-subscribe@**qpid.apache.org <us...@qpid.apache.org>>
>>>
>>>
>>>
>>
>>
>
> ------------------------------**------------------------------**---------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.**apache.org<us...@qpid.apache.org>
>
>


-- 

**
*Thanks and Regards,*
*A.SURYA PRAKASH REDDY*
***Ph.No:+91 7676724614*

Re: problem with Qpidd

Posted by Gordon Sim <gs...@redhat.com>.
On 09/29/2011 10:53 AM, surya prakash wrote:
> i am using qpidd-10 library and cpp broker

The c++ library? And the qpid::messaging API?

>
> On Thu, Sep 29, 2011 at 1:14 PM, Gordon Sim<gs...@redhat.com>  wrote:
>
>> On 09/29/2011 08:31 AM, surya prakash wrote:
>>
>>> Hi,
>>>
>>>           I am newly using qpidd .I installed qpidd and third party storage
>>> application and i am able to use durable queues also ,what my observation
>>> is
>>> for sending(asynchronously ) it is giving very good TPS .but receive is
>>> not
>>> giving half of sending TPS
>>>
>>
>> What client library&  API are you using?
>>
>>
>>   My problem is when i am sending with that TPS some messages are some time
>>> staying in TCP socket if that time qpidd is got killed means i am losing
>>> that data .can you give me solution for this problem.
>>>
>>
>> That sounds like you need acknowledged transfer. If you tell us what
>> library and API you are using (and perhaps a little more detail on how you
>> are using it) then we can advise how to chnage your configuration.
>>
>> ------------------------------**------------------------------**---------
>> Apache Qpid - AMQP Messaging Implementation
>> Project:      http://qpid.apache.org
>> Use/Interact: mailto:users-subscribe@qpid.**apache.org<us...@qpid.apache.org>
>>
>>
>
>


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Re: problem with Qpidd

Posted by surya prakash <as...@gmail.com>.
i am using qpidd-10 library and cpp broker

On Thu, Sep 29, 2011 at 1:14 PM, Gordon Sim <gs...@redhat.com> wrote:

> On 09/29/2011 08:31 AM, surya prakash wrote:
>
>> Hi,
>>
>>          I am newly using qpidd .I installed qpidd and third party storage
>> application and i am able to use durable queues also ,what my observation
>> is
>> for sending(asynchronously ) it is giving very good TPS .but receive is
>> not
>> giving half of sending TPS
>>
>
> What client library & API are you using?
>
>
>  My problem is when i am sending with that TPS some messages are some time
>> staying in TCP socket if that time qpidd is got killed means i am losing
>> that data .can you give me solution for this problem.
>>
>
> That sounds like you need acknowledged transfer. If you tell us what
> library and API you are using (and perhaps a little more detail on how you
> are using it) then we can advise how to chnage your configuration.
>
> ------------------------------**------------------------------**---------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.**apache.org<us...@qpid.apache.org>
>
>


-- 

**
*Thanks and Regards,*
*A.SURYA PRAKASH REDDY*
***Ph.No:+91 7676724614*

Re: problem with Qpidd

Posted by Gordon Sim <gs...@redhat.com>.
On 09/29/2011 08:31 AM, surya prakash wrote:
> Hi,
>
>           I am newly using qpidd .I installed qpidd and third party storage
> application and i am able to use durable queues also ,what my observation is
> for sending(asynchronously ) it is giving very good TPS .but receive is not
> giving half of sending TPS

What client library & API are you using?

> My problem is when i am sending with that TPS some messages are some time
> staying in TCP socket if that time qpidd is got killed means i am losing
> that data .can you give me solution for this problem.

That sounds like you need acknowledged transfer. If you tell us what 
library and API you are using (and perhaps a little more detail on how 
you are using it) then we can advise how to chnage your configuration.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org