[
https://issues.apache.org/jira/browse/OAK-4850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15525383#comment-15525383
]
Marcel Reutegger commented on OAK-4850:
---------------------------------------
Please note, the patch does not include an implementation for segment-tar,
which is on its own release schedule. However, implementation should be
straight forward.
> 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
>
> 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)