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

FileStore lock contention with concurrent writers

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.3.9, 1.4
    • segmentmk

    Description

      Concurrently writing to the file store can lead to a sever lock contention in FileStore#readSegment. That method searches the current TarWriter instance for the segment once it could not be found in any of the TarReader instances. This is the point where synchronizes on the FileStore instance, which leads to the contention.
      The effect is only observable once the segment cache becomes full and reads actually need to go to the file store. Thus a possible improvement could be to pin segments from the current tar writer to the cache. Alternatively we could try to ease locking by employing read/write locks where possible.

      Attachments

        1. OAK-3330.patch
          3 kB
          Michael Dürig

        Issue Links

          Activity

            People

              mduerig Michael Dürig
              mduerig Michael Dürig
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: