You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Vikas Saurabh (JIRA)" <ji...@apache.org> on 2017/05/16 14:44:04 UTC

[jira] [Updated] (OAK-6227) There should be a way to retrieve oldest timestamp to keep from nodestores

     [ https://issues.apache.org/jira/browse/OAK-6227?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vikas Saurabh updated OAK-6227:
-------------------------------
    Description: 
For implementing OAK-2808 (eager/unsafe blob garbage collection approach), we need a way for nodestores to expost last safe timestamp such that blobs deleted before that timestamp can be eagerly collected (uniqueness of blob and that it won't be resurrected elsewhere is assumed to be guaranteed elsewhere e.g. OakDirectory's blobs have randomly generated bytes as content).

What we want to ensure in this task is that the garbage collection shouldn't collect stuff that could still be retrieved back - for example checkpoints.

[~chetanm] suggested that it might be an overkill to have this API in NodeStore - but maybe, it's ok to expose it in NodeStore mbean (where the impl specific mbeans known implementation detail of the nodestore to expose such data).
The mbean just needs to expose the safe oldest timestamp (UTC epoch!?).

Another thing that is potentially done in repositories (albeit not really supported afaik) is rolling back repository head state by say offline journal edit.

  was:
For implementing OAK-2808 (eager/unsafe blob garbage collection approach), we need a way for nodestores to expost last safe timestamp such that blobs deleted before that timestamp can be eagerly collected (uniqueness of blob and that it won't be resurrected elsewhere is assumed to be guaranteed elsewhere e.g. OakDirectory's blobs have randomly generated bytes as content).

What we want to ensure in this task is that the garbage collection shouldn't collect stuff that could still be retrieved back - for example checkpoints.

The mbean just needs to expose the safe oldest timestamp (UTC epoch!?).

Another thing that is potentially done in repositories (albeit not really supported afaik) is rolling back repository head state by say offline journal edit.


> There should be a way to retrieve oldest timestamp to keep from nodestores
> --------------------------------------------------------------------------
>
>                 Key: OAK-6227
>                 URL: https://issues.apache.org/jira/browse/OAK-6227
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: core
>            Reporter: Vikas Saurabh
>            Assignee: Vikas Saurabh
>             Fix For: 1.8
>
>
> For implementing OAK-2808 (eager/unsafe blob garbage collection approach), we need a way for nodestores to expost last safe timestamp such that blobs deleted before that timestamp can be eagerly collected (uniqueness of blob and that it won't be resurrected elsewhere is assumed to be guaranteed elsewhere e.g. OakDirectory's blobs have randomly generated bytes as content).
> What we want to ensure in this task is that the garbage collection shouldn't collect stuff that could still be retrieved back - for example checkpoints.
> [~chetanm] suggested that it might be an overkill to have this API in NodeStore - but maybe, it's ok to expose it in NodeStore mbean (where the impl specific mbeans known implementation detail of the nodestore to expose such data).
> The mbean just needs to expose the safe oldest timestamp (UTC epoch!?).
> Another thing that is potentially done in repositories (albeit not really supported afaik) is rolling back repository head state by say offline journal edit.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)