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/12/14 01:25:00 UTC

[jira] [Updated] (OAK-6950) Active deletion can delete blobs from a shared store when a clone setup is created

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

Vikas Saurabh updated OAK-6950:
-------------------------------
    Attachment: OAK-6950.wip.1.patch

Attaching wip [patch|^OAK-6950.wip.1.patch].

Basic implementation is done. Left to do:
* tests specifically more IT types checking usual behavior and of course cloned setup with shared DS scenarios
* refactor including renames of some weirdly worded names

The idea of implementation is basically before clone one must indicate the intent to the repository using some jmx method (currently named {{dontCollectCurrentAndPauseMarkingDeletedBlobs}} ). Once that method is called, all index files at head state get flagged as unsafe to be actively deleted. Along with that, we would keep an in-memory flag so that new index files also get flagged as unsafe for active deletion. There is another jmx method to reset this in-mem flag (currently named {{resumeMarkingDeletedBlobs}}) which should be invoked after repository has been cloned.

The method above doesn't require shutting down the original instance. Although, if setup is restarted anyway, then the in-memory flag would get reset - so, that should work too .... invoking jmx would still be required before cloning anyway btw.

> Active deletion can delete blobs from a shared store when a clone setup is created
> ----------------------------------------------------------------------------------
>
>                 Key: OAK-6950
>                 URL: https://issues.apache.org/jira/browse/OAK-6950
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: lucene
>            Reporter: Vikas Saurabh
>            Assignee: Vikas Saurabh
>             Fix For: 1.8
>
>         Attachments: OAK-6950.wip.1.patch
>
>
> It's a common scenario have multiple seg-tar instance to load balance. These instance often share the data-store.
> Provisioning of such instance is often done by preare one instance and clone new ones from this instance.
> In such cases, index files while were live at the time of cloning can be collected by one instance while still being required by the other.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)