Details
-
Task
-
Resolution: Fixed
-
Major
-
4.6.0
-
Release Note
Description
At the moment it builds a list (set) of all keys in a vbucket, then writes to disk. This is so we don't perform disk in the vbucket callback.
Problem with this is that we need a massive chunk of memory to hold all the keys.
Better approach would be to use the pause/resume visitor to say visit N keys, write to the disk, then continue. Also means we don't hold HashTable locks for long times (AccessScanner doesn't have to include every key, given it may well change in 1 days' time).
Attachments
Issue Links
For Gerrit Dashboard: MB-22013 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
73580,1 | MB-22013: Update google benchmark version | master | manifest | Status: ABANDONED | 0 | 0 |
73581,3 | MB-22013: Update google benchmark version | master | manifest | Status: ABANDONED | +2 | 0 |
73749,4 | MB-22013: Update google benchmark version | master | manifest | Status: MERGED | +2 | +1 |
74015,12 | MB-22013: Refactor out mock synrchonous ep-engine | master | ep-engine | Status: MERGED | +2 | +1 |
74016,29 | MB-22013: Port access scanner to PauseResume model | master | ep-engine | Status: MERGED | +2 | +1 |
74380,19 | MB-22013: Add access scanner benchmark | master | ep-engine | Status: MERGED | +2 | +1 |