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

FileDataStore inUse map causes contention in concurrent env

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.1.8
    • core

    Description

      JR2 FileDataStore#inUseMap [1] is currently a synchronized map and that at times causes contention concurrent env. This map is used for supporting the Blob GC logic for JR2.

      With Oak this map content is not used. As a fix we can either

      1. Set inUseMap to a Guava Cache Map which has weak keys and value
      2. Set inUseMap to a no op map where all put calls are ignored
      3. Modify FDS to disable use of inUseMap or make usesIdentifier protected

      #3 would be a proper fix and #2 can be used as temp workaround untill FDS gets fixed

      [1] https://github.com/apache/jackrabbit/blob/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/FileDataStore.java#L118

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: