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

Reply via email to