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

Performance degradation when redundancy < number of nodes


    • Type: Bug
    • Status: Open
    • Priority: High
    • Resolution: Unresolved
    • Affects Version/s: 6.0.0, 6.11.1
    • Fix Version/s: None
    • Component/s: None
    • Labels:


      There is a performance degradation when running in an HA setup, with a number of nodes higher than the configured number of redundancy.

      When # of nodes > # of redundancy:
      Assuming file is uploaded to node #1, node #1 will stream the file to a random second node - it will be node #2.
      Once the streaming is completed, as part of the upload request, node #1 will trigger a HEAD request to node #3 to verify if it exists (endpoint used is HEAD "/binarystore/provider").

      On node #3 as the receiving of these HEAD request, it triggers a check in his binary providers for the existence of the binary. I would expect cloud storage providers to be filtered out, but they are not. This means node #3 as the receiving of this HEAD request, triggers an additional HEAD request to the cloud storage provider.

      In a hybrid setup where Artifactory is installed on-prem, but uses Cloud storage, this makes lots of extra additional requests to the cloud, which was witnessed as a major performance issue in large-scale hybrid environments.

      To consider:
      1. Do we really need to verify existence of binaries at all nodes of the cluster (what if I have 15 nodes? This impacts each upload)
      2. Requests to cloud storage providers should never be part of a deploy to Artifactory. This must always happen in the background.


          Issue Links



              • Assignee:
                arielk Ariel Kabov
              • Votes:
                1 Vote for this issue
                2 Start watching this issue


                • Created: