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

SegmentBlob should return null contentIdentity for inlined blobs

    XMLWordPrintableJSON

Details

    Description

      When a external BlobStore is configured with SegmentNodeStore then blob can exist in 3 forms

      1. Blob inlined in segment storage - If blob length is <= 16512 then blob would be inlined in segment store
      2. Blob inlined in BlobStore - Most BlobStore implementation also support inlining of blob content as part of blobId if the size is less than certain threshold. For FileDataStore this is determined by minRecordLength. If this is less than #1 then such a case would not happen
      3. Blob whose content are stored in BlobStore without inlining

      Currently SegmentBlob returns recordId for getContentIdentity call for inlined blobs. This would cause this value to change if same blob is stored in a different segmentstore. As discussed here this causes ambiguity in certain cases.

      Given that getContentIdentity can return null it would be better if SegmentBlob returns null for inlined blob.

      Attachments

        Issue Links

          Activity

            People

              chetanm Chetan Mehrotra
              chetanm Chetan Mehrotra
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: