[
https://issues.apache.org/jira/browse/OAK-1849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14005626#comment-14005626
]
Amit Jain commented on OAK-1849:
--------------------------------
At a high-level to support this case:
# {{collectGarbage()}} takes a flag - {{true}} indicating that the setup is
heterogeneous and delete should not be called and {{false}} indicating the
normal case where the sweep phase can also be called.
# When the flag is {{true}}, touch is called on all the blobs identified, to
update the timestamp of the blobs.
# Then a {{sweep()}} method deletes the blobs older than some preset time from
current (as is being done currently).
# There needs to be some state management between the 2 phases (timestamp?).
# Should {{touch()}} be implemented for all {{BlobStore}} implementations or
just the jackrabbit 2.x {{DataStore}}.
[~chetanm], [~tmueller]
Can you please review the above approach?
> DataStore GC support for heterogeneous deployments using a shared datastore
> ---------------------------------------------------------------------------
>
> Key: OAK-1849
> URL: https://issues.apache.org/jira/browse/OAK-1849
> Project: Jackrabbit Oak
> Issue Type: Bug
> Reporter: Amit Jain
>
> If the deployment is such that there are 2 or more different instances with a
> shared datastore, triggering Datastore GC from one instance will result in
> blobs used by another instance getting deleted, causing data loss.
--
This message was sent by Atlassian JIRA
(v6.2#6252)