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