[
https://issues.apache.org/jira/browse/OAK-4850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcel Reutegger resolved OAK-4850.
-----------------------------------
Resolution: Fixed
Fix Version/s: 1.5.11
Thanks for the review.
Applied a slightly modified patch with additional JavaDoc as suggested by
Michael: http://svn.apache.org/r1762453
> List checkpoints
> ----------------
>
> Key: OAK-4850
> URL: https://issues.apache.org/jira/browse/OAK-4850
> Project: Jackrabbit Oak
> Issue Type: New Feature
> Components: core, documentmk, segmentmk
> Reporter: Marcel Reutegger
> Assignee: Marcel Reutegger
> Priority: Minor
> Fix For: 1.6, 1.5.11
>
> Attachments: OAK-4850.patch
>
>
> Introduce a new method on {{NodeStore}} that lists the currently valid
> checkpoints:
> {code}
> /**
> * Returns all currently valid checkpoints.
> *
> * @return valid checkpoints.
> */
> @Nonnull
> Iterable<String> checkpoints();
> {code}
> The NodeStore interface already has methods to create and release a
> checkpoint, as well as retrieving the root state for a checkpoint, but it is
> currently not possible to _list_ checkpoints. Using the checkpoint facility
> as designed right now can lead to a situation where a checkpoint is orphaned.
> That is, some code created a checkpoint but was unable to store the reference
> because the system e.g. crashed. Orphaned checkpoints can affect garbage
> collection because they prevent it from cleaning up old data. Right now, this
> requires users to run tools like oak-run to get rid of those checkpoints.
> As suggested in OAK-4826, client code should be able to automatically clean
> up unused checkpoints. This requires a method to list existing checkpoints.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)