----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/791/ -----------------------------------------------------------
(Updated 2011-06-08 17:47:17.142625) Review request for qpid, Andrew Stitcher, Alan Conway, Gordon Sim, and Andy Goldstein. Changes ------- I've made a couple more fixes and rebased to latest trunk. There are 2 issues with the patch: - in repeated runs (5-6) I've seen test_ttl_failover and test_failover fail with a broker exiting with nothing abnormal in the logs and no core file. - performance is about 15% better for messages with TTL, but 10% worse for messages without TTL. I'm a bit stuck on the test failures, any help appreciated. I think we probably have to optimize the non-TTL case a bit more. Summary (updated) ------- WIP: Misc fixes to cluster TTL - Fix issue with empty message-properties being added to messages. - Remove queue cleaner use of system clock - Fix test bugs WIP: Use atomic counter and period in place of RateTracker for QueueCleaner. RateTracker was using the non-cluster clock to decide to run purges or not. This is a clock-free solution that gives the same result and is safe in cluster. WIP: agoldste's expiration replication fix. QPID-3280: Fixed extra failover update messages on brokers joining the cluster. 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 (updated) ----- /trunk/qpid/cpp/include/qpid/framing/FieldTable.h 1133166 /trunk/qpid/cpp/src/CMakeLists.txt 1133166 /trunk/qpid/cpp/src/Makefile.am 1133166 /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1133166 /trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.h 1133166 /trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.cpp 1133166 /trunk/qpid/cpp/src/qpid/broker/Message.h 1133166 /trunk/qpid/cpp/src/qpid/broker/Message.cpp 1133166 /trunk/qpid/cpp/src/qpid/broker/Queue.h 1133166 /trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1133166 /trunk/qpid/cpp/src/qpid/broker/QueueCleaner.h 1133166 /trunk/qpid/cpp/src/qpid/broker/QueueCleaner.cpp 1133166 /trunk/qpid/cpp/src/qpid/broker/RateTracker.h 1133166 /trunk/qpid/cpp/src/qpid/broker/RateTracker.cpp 1133166 /trunk/qpid/cpp/src/qpid/cluster/Cluster.h 1133166 /trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp 1133166 /trunk/qpid/cpp/src/qpid/cluster/ClusterPlugin.cpp 1133166 /trunk/qpid/cpp/src/qpid/cluster/ClusterSettings.h 1133166 /trunk/qpid/cpp/src/qpid/cluster/ClusterTimer.cpp 1133166 /trunk/qpid/cpp/src/qpid/cluster/Connection.h 1133166 /trunk/qpid/cpp/src/qpid/cluster/Connection.cpp 1133166 /trunk/qpid/cpp/src/qpid/cluster/ExpiryPolicy.h 1133166 /trunk/qpid/cpp/src/qpid/cluster/ExpiryPolicy.cpp 1133166 /trunk/qpid/cpp/src/qpid/cluster/FailoverExchange.h 1133166 /trunk/qpid/cpp/src/qpid/cluster/FailoverExchange.cpp 1133166 /trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp 1133166 /trunk/qpid/cpp/src/qpid/framing/AMQHeaderBody.h 1133166 /trunk/qpid/cpp/src/qpid/sys/Timer.h 1133166 /trunk/qpid/cpp/src/qpid/sys/Timer.cpp 1133166 /trunk/qpid/cpp/src/tests/QueueTest.cpp 1133166 /trunk/qpid/cpp/src/tests/cluster_test_logs.py 1133166 /trunk/qpid/cpp/src/tests/cluster_tests.py 1133166 /trunk/qpid/cpp/xml/cluster.xml 1133166 Diff: https://reviews.apache.org/r/791/diff Testing ------- Thanks, Alan
