Details
-
Bug
-
Resolution: Fixed
-
Critical
-
3.0, 4.0.0, 4.1.0, 4.5.0
-
Untriaged
-
No
-
KV: April 27 - May 10
Description
When a user switches from full eviction to value eviction, if the total meta data is bigger than the memory quota of the bucket. Then during warmup keys will not be loaded, the warmup will complete and the bucket will come online. As the key is not in memory, bucket now believes the key does exist, and basically the data is lost!
As a work around if the user is lucky enough not to do any updates, then they can change the eviction policy back to full and get access to the the data back.
Unfortunately the only way the user would know that this has happened if they check the memcached.log or if they see a drop in the item count.
Reproduce
- Create a single node cluster
- Create default bucket with 100MB quota and full eviction
- Insert 3 million items into the bucket
cbc-pillowfight -I 3000000 -p superlongnameofkey1234567890123456789012345678902 -M 1
- Note the item count
- Change the eviction policy
- During warmup the estimated item count is corrected
- When warmup has finished the item count is wrong.