qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Conway <acon...@redhat.com>
Subject Re: Build broker (was Re: svn commit: r1136170 [1/2] - in /qpid/trunk/qpid/cpp: include/qpid/framing/ src/ src/qpid/broker/ src/qpid/cluster/ src/qpid/framing/ src/qpid/sys/ src/tests/ xml/)
Date Fri, 17 Jun 2011 18:36:35 GMT
Fixed on trunk:

------------------------------------------------------------------------
r1136971 | aconway | 2011-06-17 14:35:48 -0400 (Fri, 17 Jun 2011) | 2 lines

NO-JIRA: Fix compile error on windows due to assigning an AtomicValue.

------------------------------------------------------------------------


On 06/17/2011 09:57 AM, Gordon Sim wrote:
> On 06/15/2011 09:15 PM, aconway@apache.org wrote:
>> Author: aconway
>> Date: Wed Jun 15 20:15:51 2011
>> New Revision: 1136170
>>
>> URL: http://svn.apache.org/viewvc?rev=1136170&view=rev
>> Log:
>> QPID-3280: Performance problem with TTL messages.
>>
>> When sending a large number of messages with nonzero TTLs to a
>> cluster, overall message throughput drops by around 20-30% compared to
>> messages with TTL 0.
>>
>> The previous approach to TTL in the cluster is replaced with a simpler
>> "cluster clock". Also QueueCleaner is executed in the cluster timer,
>> and modified to be deterministic in a cluster.
>
> [snip]
>
>> Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
>> URL:
>> http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?rev=1136170&r1=1136169&r2=1136170&view=diff
>>
>> ==============================================================================
>> --- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original)
>> +++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Wed Jun 15 20:15:51 2011
>
> [snip]
>
>> @@ -1197,6 +1203,10 @@ const Broker* Queue::getBroker()
>> return broker;
>> }
>>
>> +void Queue::setDequeueSincePurge(uint32_t value) {
>> + dequeueSincePurge = AtomicValue<uint32_t>(value);
>> +}
>> +
>>
>> Queue::UsageBarrier::UsageBarrier(Queue& q) : parent(q), count(0) {}
>>
>
> The snippet above causes a compilation error on windows. There the mutex-based
> version of AtomicValue is used and that cannot be assigned as the mutex is
> non-copyable.
>
> Need to add an assignment operator to AtomicValue that works in both cases, or
> use the existing operators to test and set until update succeeds.
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project: http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>

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


Mime
View raw message