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

Online migration process for the binaries

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.3.7, 1.4
    • blob, upgrade
    • None

    Description

      For clients that want to migrate their blob stores, let's add a new feature that allows copy them in the background.

      AC:

      1. SplitBlobStore
        1. Administrator can configure Oak to use the SplitBlobStore that references the source (old) and the destination (new) blob store.
        2. Data stores can be used as well via the DataStoreBlobStore.
        3. On the read operation, if the requested blob exists on the new store, SplitBlobStore will return it.
        4. Otherwise, SplitBlobStore will try to read the blob from the old store.
        5. All write requests will be directed to the new blob store.
      2. Copy process
        1. Administrator can start, stop and resume the copy process using JMX command.
        2. Administrator can see the progress in JMX and logs
        3. The process will read the SplitBlobStore configuration and copy the binaries from source to destination
        4. Once a binary is moved, its reference in the NodeStore is updated and commited.
        5. Only the head revision has to be updated.

      The idea is that after all binaries are copied, the old revisions will be gradually removed by the compaction mechanisms and then binaries will be removed from the source store by the blob garbage collector. Future improvements are possible, eg. to invoke the compaction and GC manually.

      Attachments

        Issue Links

          Activity

            People

              thomasm Thomas Mueller
              tomek.rekawek Tomek Rękawek
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: