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, acon...@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-subscr...@qpid.apache.org


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

Reply via email to