> 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 > >
