[ https://issues.apache.org/jira/browse/QPID-3222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13022234#comment-13022234 ]
jirapos...@reviews.apache.org commented on QPID-3222: ----------------------------------------------------- bq. On 2011-04-20 16:59:07, Alan Conway wrote: bq. > The code looks OK, but do we really need to worry about people setting a TTL of more than 17 billion years? bq. bq. Alan Conway wrote: bq. Actually looking at the BZ, the real issue is giving FOREVER the correct special treatment at each step, it's not really an overflow issue at all. FOREVER is indeed the most important case. However as the value on the wire is uint64 (and is in ms), we need to make sure that no positive value that is sent is turned into a negative value and thus immediately marks the messages as expired. It is indeed very unlikely that anyone would have a real need to use anything other than FOREVER that would cause this, but other values could trigger the same thing, so why not fix the overflow entirely. - Gordon ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/627/#review501 ----------------------------------------------------------- On 2011-04-20 16:47:00, Gordon Sim wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/627/ bq. ----------------------------------------------------------- bq. bq. (Updated 2011-04-20 16:47:00) bq. bq. bq. Review request for qpid, Andrew Stitcher, Alan Conway, Chug Rolke, and Steve Huston. bq. bq. bq. Summary bq. ------- bq. bq. Fixes ttl overflow on the broker. Added equality operator for qpid::messaging::Duration (needed it in test and seemed generally valuable). bq. bq. bq. This addresses bug QPID-3222. bq. https://issues.apache.org/jira/browse/QPID-3222 bq. bq. bq. Diffs bq. ----- bq. bq. /trunk/qpid/cpp/include/qpid/messaging/Duration.h 1090157 bq. /trunk/qpid/cpp/src/qpid/broker/Message.cpp 1090157 bq. /trunk/qpid/cpp/src/qpid/messaging/Duration.cpp 1090157 bq. /trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp 1090157 bq. bq. Diff: https://reviews.apache.org/r/627/diff bq. bq. bq. Testing bq. ------- bq. bq. New test added, make check passes. bq. bq. bq. Thanks, bq. bq. Gordon bq. bq. > Potentially TTL Overflow > ------------------------ > > Key: QPID-3222 > URL: https://issues.apache.org/jira/browse/QPID-3222 > Project: Qpid > Issue Type: Bug > Components: C++ Broker > Reporter: Jerome Ajot > Assignee: Gordon Sim > Labels: ttl > > When a message TTL is set by the client to Duration::FOREVER, the message is > not reachable anymore. > Every addition and multiplication to the TTL/Expiration Time should check to > avoid uint64_t overflow. > For example: broker/Message.cpp: Message::setTimestamp() overflows the > uint64_t. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org