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

Several HEAD requests for latest metadata files against remote repos which are not reachable causes the online-monitor thread to leaks

    XMLWordPrintable

    Details

    • Location:
      External

      Description

      Description -  When there are remote repositories are not reachable from the Artifactory, Artifactory triggers an online monitor thread to check the remote repo status. By default we recheck it every 300 secs, i.e. assumed offline config. However, if there are many HEAD requests to the latest metadata we end having many online monitors for each remote repo that are not reachable. This leads to an undesirable spawning of online-monitor thread for each remote repository that is not reachable.

      What is the impact to the customer - What are they trying to achieve? where does that bug hurt them? what does it stop them from achieving?  **  causes the instance to be unresponsive 

      Expected behavior - Not to have so many online-monitor threads for each repo

      Steps to reproduce.
      1. Setup two Artifactory instances A and B
      2. Create several remote repositories in Artifactory A
      3. Load the artifactoryMigrationHelper plugin in the Artifactory A ( source)
      4. Setup a squid proxy blocking remote repository connections and set it as a forward proxy on both the Artifactory A and B as well.
      5. Initiate the plugin and also trigger 1000's of HEAD requests to check any metadata file in remote repos.

      Generate the thread dump and observe that there are several online monitoring threads for every remote repo that is unreachable. It's expected to have only one online-monitor-<repo>

      "online-monitor-internet-jcenter" #641 daemon prio=5 os_prio=0 cpu=3.40ms elapsed=231.54s tid=0x00005636ec2b6800 nid=0xb66 waiting on condition [0x00007f2e15baf000]
      "online-monitor-internet-jcenter" #663 daemon prio=5 os_prio=0 cpu=2.70ms elapsed=40.90s tid=0x00007f2e2114d000 nid=0xbc2 waiting on condition [0x00007f2e1551d000]
      "online-monitor-internet-jcenter" #685 daemon prio=5 os_prio=0 cpu=2.22ms elapsed=27.17s tid=0x00005636ec1d7800 nid=0xbed waiting on condition [0x00007f2e15009000]
      

      Workaround: The workaround is to set Artifactory Global offline.

        Attachments

          Activity

              People

              Assignee:
              Unassigned
              Reporter:
              balajis Balaji Satish
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Sync Status

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