qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Conway" <acon...@redhat.com>
Subject Re: Review Request: QPID-3280: 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.
Date Wed, 01 Jun 2011 13:32:13 GMT


> On 2011-06-01 09:28:27, Gordon Sim wrote:
> > /trunk/qpid/cpp/src/qpid/broker/Message.cpp, line 391
> > <https://reviews.apache.org/r/791/diff/4/?file=20056#file20056line391>
> >
> >     Not saying this is wrong, but perhaps a fraction safer if the TTL is always
adjusted and the expiry policy is tested only in order to determine if it should be used to
get the current time. I.e.
> >     
> >       if (props->getTtl()) {
> >           sys::Mutex::ScopedLock l(lock);
> >           if (expiration < FAR_FUTURE) {
> >               sys::Duration current = 
> >                expiryPolicy ? 
> >                expiryPolicy->getCurrentTime() 
> >                : sys::AbsTime::now();
> >               sys::Duration d(current, getExpiration());
> >               props->setTtl(...)
> >           }
> >       }

Done, it pays to be safe :)


- Alan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/791/#review743
-----------------------------------------------------------


On 2011-05-31 21:37:57, Alan Conway wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/791/
> -----------------------------------------------------------
> 
> (Updated 2011-05-31 21:37:57)
> 
> 
> Review request for qpid, Andrew Stitcher, Alan Conway, Gordon Sim, and Andy Goldstein.
> 
> 
> Summary
> -------
> 
> QPID-3280: 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.
> 
> Replaced the complicated message expirly logic in the cluster with a simpler "cluster
clock" for expiry of messages with TTL.
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.h 1128070 
>   /trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/broker/Message.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/broker/QueueCleaner.h 1128070 
>   /trunk/qpid/cpp/src/qpid/broker/QueueCleaner.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/Cluster.h 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/ClusterPlugin.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/ClusterSettings.h 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/ClusterTimer.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/Connection.h 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/Connection.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/ExpiryPolicy.h 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/ExpiryPolicy.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp 1128070 
>   /trunk/qpid/cpp/src/qpid/sys/Timer.h 1128070 
>   /trunk/qpid/cpp/src/qpid/sys/Timer.cpp 1128070 
>   /trunk/qpid/cpp/src/tests/QueueTest.cpp 1128070 
>   /trunk/qpid/cpp/src/tests/cluster_tests.py 1128070 
>   /trunk/qpid/cpp/xml/cluster.xml 1128070 
> 
> Diff: https://reviews.apache.org/r/791/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Alan
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message