Details
-
Bug
-
Resolution: Won't Fix
-
Critical
-
3.0, 3.0.1, 3.0.2
-
Security Level: Public
-
None
-
Untriaged
-
No
Description
Seeing this in 3.0 and 3.0.2.
I did 'set' on a key with different ttls. I did getMeta() on the same key in a fraction of seconds immediately after the 'set'. This is what I observed:
#ttl=300000
memc_client.set('pymc1098', exp=300000, flags=0, val="dummy val")
memc_client.getMeta('pymc1098') returns
#ttl=3000000
memc_client.set('pymc1098', exp=3000000, flags=0, val="dummy val")
memc_client.getMeta('pymc1098') returns
Pls note that deleted flag has been set and as a a result, Memcached returns "not found". Also seqno is 2 indicating the deletion.
[root@centos-64-x64 bin]# ./cbstats localhost:11210 key pymc1098 0
Memcached error #1: Not found
#ttl=30000000
memc_client.set('pymc1098', exp=30000000, flags=0, val="dummy val")
memc_client.getMeta('pymc1098') returns
Same as above, key gets deleted
#ttl=300000000
memc_client.set('pymc1098', exp=300000000, flags=0, val="dummy val")
memc_client.getMeta('pymc1098') returns
#ttl=3000000000
memc_client.set('pymc1098', exp=3000000000, flags=0, val="dummy val")
memc_client.getMeta('pymc1098') returns
Pls see that last case is the expected behavior. And expiration is same as ttl.
Given the nature of this bug, it should be a blocker but since this always existed, I'm raising this as a critical issue.