Introduced in http://review.couchbase.org/c/kv_engine/+/163330
Expelling checks after every vbucket if further reduction in memory usage is required
getRequiredCheckpointMemoryReduction boils down to:
Checking after every vbucket means expelling will often stop slightly below the high mark.
Anecdotally, this has been seen in cluster run to lead to each run of the ClosedUnrefCheckpointRemoverTask expelling from a single vbucket, then ending. This leads to a lot of logging of:
and a reduced rate of expelling (as the task needs to be retriggered/scheduled between each vbucket).
|For Gerrit Dashboard: MB-49262|
|165623,6||MB-49262: Ensure expelling continues until the low mark is reached||master||kv_engine||Status: MERGED||+2||+1|