Thomas Mueller created OAK-120:
----------------------------------

             Summary: MicroKernel API: specific retention policy of binaries
                 Key: OAK-120
                 URL: https://issues.apache.org/jira/browse/OAK-120
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: mk
            Reporter: Thomas Mueller


A MicroKernel implementation needs to remove unused binaries. As the API 
doesn't have a way to manually remove binaries (see also OAK-117), we need to 
specify a retention policy (the rules for which binaries can be removed and 
which ones need to be retained). The idea is that a MicroKernel implementation 
uses a garbage collection algorithm to remove unused binaries from time to time.

There are two classes of binaries that need to be retained: 

(A) binaries referenced within the nodes (as property values)
(B) temporary binaries (not [yet] referenced)

For (B) we could use the same retention policy as for revisions (keep temporary 
binaries as long as old revisions are kept). 

For (A) we need to specify the property value format, so the MicroKernel can 
retain binaries based on the content. One idea is that binary values should be 
kept if there is a node with property value ":blobId:<blobId>", or a node with 
an array property value [..., ":blobId:<blobId>",...].

I will create a patch.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to