Description
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.
Attachments
Attachments
Issue Links
- is part of
-
OAK-11 Document and tighten contract of Microkernel API
- Resolved