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

Optimize SegmentBlob#equals for segment blobs that originate from the same blob store

    XMLWordPrintableJSON

Details

    • Story
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.52.0
    • 1.60.0
    • segment-tar
    • None

    Description

      SegmentBlob#equals can be optimized for blobs originating from the same external blob store: In that case, SegmentBlob#getBlobId() can be used to determine if the blobs are equal or not. That change should avoid falling back to a byte-by-byte comparison if the two blobs have the same size, which can be very expensive for larger blobs.

      The optimization should be placed behind a code/feature toggle or system property and disabled by default. The reason is that the contract of Blob#getContentIdentity does not mention the special case where Blobs reside in the same blob store.

      As part of this story, integration and benchmark tests should be created to demonstrate gains in performance and correct behavior.

      Attachments

        Issue Links

          Activity

            People

              adulceanu Andrei Dulceanu
              ahanikel Axel Hanikel
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: