Uploaded image for project: 'Stanbol'
  1. Stanbol
  2. STANBOL-1443

FastLRUCacheManager of the FST Linking Engine is not thread save

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.12.0
    • Fix Version/s: 1.0.0, 0.12.1
    • Component/s: Enhancement Engines
    • Labels:
      None

      Description

      The FastLRUCacheManager is the implementation of the EntityCacheManager. The EntityCacheManager interface uses the o.a.solr.util.RefCounted for getting the EntityCache object.

      However the management of the RefCount of the FastLRUCacheManager implementation is not thread save. So under high load the actual ref count can get wrong values. Based on logs I observed negative values (resulting in close operations in the Cache) and also very high values (potentially resulting in Caches not being correctly garbage collected).

      To fix this issue the FastLRUCacheManager.getCache(Object version) needs to be implemented in a thread save manner. Also the #close() method needs to be thread save.

        Attachments

          Activity

            People

            • Assignee:
              rwesten Rupert Westenthaler
              Reporter:
              rwesten Rupert Westenthaler
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: