Details
-
Bug
-
Resolution: Fixed
-
Major
-
1.6.5.3
-
Security Level: Public
-
None
Description
this can cause a huge memory spike
example
while True:
mc.set(key,1,0,..)
we do not overwrite the value in kv table because expiration is less than 3 so for every set we end up creating a new value in the kv table
this is not a real use case but is seen very often while testing ( e.g a script sent by one of the customers was causing this issue)
for example if you have a working set of 4000 keys ( data 400 mb) and you loop 400 times and invoke a mc.set(key,2,..) after 10 minutes you will end up with 4x400Mb
Attachments
For Gerrit Dashboard: MB-3972 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
6956,1 | MB-3972 Set should overwrite an expired item that is not purged yet | refresh | ep-engine | Status: MERGED | +2 | +1 |
6961,2 | MB-3972 Set should overwrite an expired item that is not purged yet | branch-171 | ep-engine | Status: MERGED | +2 | +1 |
7742,3 | Merge of membase/branch-171 into membase/branch-20 | branch-20 | ep-engine | Status: MERGED | +2 | +1 |
9607,1 | Merge branch 'refresh' into branch-172 | branch-172 | ep-engine | Status: MERGED | +2 | +1 |
9734,1 | Merge branch 'branch-172' into branch-20 | branch-20 | ep-engine | Status: MERGED | +2 | +1 |