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.
Reviewed: https:/ /review. openstack. org/16284 github. com/openstack/ swift/commit/ 1ac7b88a271d8b4 fd4557b301fdeb8 0442dcabbe
Committed: http://
Submitter: Jenkins
Branch: master
commit 1ac7b88a271d8b4 fd4557b301fdeb8 0442dcabbe
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: Ie36dbcedfe9b4d b9f77ed4ea9b70f f86c5773310
Signed-off-by: Peter Portante <email address hidden>