Odd curr_items behaviour when setting expiration
I'm seeing some odd behaviour with curr_items i can't explain...
When using membase buckets if i set an expiry on a key, wait for it to expire then set the same key, the curr_items (and vb_active_curr_items) keeps increasing. Setting the same key before the expiry works as i expected (ie; curr_items doesn't increment).
It gets even weirder when deleting it - DELETEing the same key over and over decrements curr_items as if the key has been stored multiple times.
c> SET testkey1 0 10 1 a s> STAT curr_items 1 (wait 10s) c> SET testkey1 0 10 1 a s> STAT curr_items 2 (wait 10s) c> SET testkey1 0 10 1 a s> STAT curr_items 3 c> DELETE testkey1 s> DELETED s> STAT curr_items 2 c> DELETE testkey1 s> NOT_FOUND s> STAT curr_items 1 c> DELETE testkey1 s> NOT_FOUND s> STAT curr_items 0
Is this expected? Is the key actually being stored multiple times (it seems that way, or at least it seems to have this stack-like behaviour per key)?
I'm running 1.7GA and see the same effect either on a single node or cluster (with or without replication). I've tried with telnet and a PHP client. Memcache buckets don't seem to increment curr_items after the expiry has passed.
Is this normal?