Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-120

MicroKernel API: specific retention policy of binaries

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.3
    • mk
    • None

    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

        1. OAK-120.patch
          2 kB
          Thomas Mueller

        Issue Links

          Activity

            People

              Unassigned Unassigned
              thomasm Thomas Mueller
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: