Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-19028

Allow updating the ACL cache asynchronously

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Done
    • Priority: 4 - Normal
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 6.11.0, 6.8.9
    • Component/s: None
    • Labels:
      None

      Description

      Artifactory permissions are stored in Access and cached in memory. On permission create/delete/update operation, the cache is being revoked, and on demand request triggers the cache loading. On environment that has large amount of permissions / permission data, fetching the data and cache might take time. 

      Artifactory mechanism lock the cache update to a single thread, therefore, if a permission change occurs and multiple threads are trying to fetch/use the permission data, single thread will update the cache synchronously and the rest of the threads will wait 20 seconds  (default, configurable via artifactory.acl.dirty.read.timeout). If the timeout passes, the waiting threads will get old copy of the cache until the cache update will be completed.

      When the artifactory.acl.dirty.read.timeout value is configured to a small value, the might return faster, however, after every permission change, there will always be a single thread that synchronously waiting until the cache is fully updated

      New functionality introduced, allowing all threads to immediately return with the current permissions cache while the cache update is done in the background and not in by the first request thread that is trying to use permissions data.

      To enable this, add the following to the artifactory.system.properties file:

      artifactory.acl.version.cache.async.reload=true

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              shayb Shay Bagants
              Reporter:
              shayb Shay Bagants
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Sync Status

                  Connection: RTFACT Sync
                  RTMID-19028 -
                  SYNCHRONIZED
                  • Last Sync Date: