Comment 8 for bug 1076148

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.openstack.org/16284
Committed: http://github.com/openstack/swift/commit/1ac7b88a271d8b4fd4557b301fdeb80442dcabbe
Submitter: Jenkins
Branch: master

commit 1ac7b88a271d8b4fd4557b301fdeb80442dcabbe
Author: Peter Portante <email address hidden>
Date: Fri Nov 16 00:09:14 2012 -0500

    Use a delta timeout for memcache where possible

    We use a delta timeout value for timeouts under 30 days (in seconds)
    since that is the limit which the memcached protocols will recognize a
    timeout as a delta. Greater than 30 days and it interprets it as an
    absolute time in seconds since the epoch.

    This helps to address an often difficult-to-debug problem of time
    drift between memcache clients and the memcache servers. Prior to this
    change, if a client's time drifts behind the servers, short timeouts
    run the danger of not being cached at all. If a client's time drifts
    ahead of the servers, short timeouts run the danger of persisting too
    long. Using delta's avoids this affect. For absolute timeouts 30 days
    or more in the future small time drifts between clients and servers
    are inconsequential.

    See also bug 1076148 (https://bugs.launchpad.net/swift/+bug/1076148).

    This also fixes incr and decr to handle timeout values in the same way
    timeouts are handled for set operations.

    Change-Id: Ie36dbcedfe9b4db9f77ed4ea9b70ff86c5773310
    Signed-off-by: Peter Portante <email address hidden>