In jmemcache-core:1.0.0 there appears to be a small bug in handling expiration
times.
According to the "Expiration times" section of the memcache protocol
documentation, an expiration value of 2592000 should translate into an
expiration of 30 days from the time the relevant element is inserted. Any
expiration value larger than 2592000 should be treated as a Unix timestamp.
jmemcache-core:1.0.0 treats an expiration value of 2592000 as a Unix timestamp.
Memcached and other implementations on the other hand behave as described in
the protocol.
The fix seems to be a simple replacement of a "<" to a "<=" in
MemcacheCommandDecoder and MemcacheBinaryCommandDecoder.
I've attached an archive with a test project and a patch against the
jmemcached-parent-1.0.0 tag.
Original issue reported on code.google.com by Professo...@gmail.com on 6 Jun 2011 at 6:30
Original issue reported on code.google.com by
Professo...@gmail.com
on 6 Jun 2011 at 6:30Attachments: