[ 
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)

Reply via email to