Details
-
Task
-
Resolution: Won't Do
-
Minor
-
None
-
None
-
None
Description
Checkpoint expelling tries to reduce the memory used by checkpoints by freeing items all cursors have already "visited". If there are no cursors in the checkpoint, it may instead be dropped as a whole.
The memory overhead of checkpoints (includes memory allocated for the checkpoint keyIndex) has been (anecdotally) seen to remain "high" after checkpoint expelling has been performed.
At a glance, the keyIndex appears to serve no purpose once a checkpoint is closed. It may be worth investigating whether the memory tied up in keyIndex could be reclaimed, either upon the checkpoint being closed or checkpoint expelling.