qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gordon Sim" <g...@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 09:28:27 GMT

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



/trunk/qpid/cpp/src/qpid/broker/Message.cpp
<https://reviews.apache.org/r/791/#comment1518>

    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(...)
          }
      }


- Gordon


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