Details

    • Type: Bug
    • Status: Resolved
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 2.5.1
    • Fix Version/s: 2.6.0
    • Component/s: None
    • Labels:
      None

      Description

      We've noticed very high cpu usage on the jenkins slave process when running with artifactory.

      Taking an example, I've used the native top program (showing the top threads) and correlated the top threads with the jstack of the slave process and found the troublesome java threads are :

      "DefaultMetadataResolver-4-1" #360 daemon prio=5 os_prio=0 tid=0x00002b48602f5800 nid=0x7684 runnable [0x00002b48408e2000]
         java.lang.Thread.State: RUNNABLE
              at java.util.TreeMap.put(TreeMap.java:568)
              at org.jfrog.build.extractor.clientConfiguration.PrefixPropertyHandler.setStringValue(PrefixPropertyHandler.java:55)
              at org.jfrog.build.extractor.clientConfiguration.ArtifactoryClientConfiguration.fillFromProperties(ArtifactoryClientConfiguration.java:94)
              at org.jfrog.build.extractor.clientConfiguration.ArtifactoryClientConfiguration.fillFromProperties(ArtifactoryClientConfiguration.java:80)
              at org.jfrog.build.extractor.maven.resolver.ResolutionHelper.init(ResolutionHelper.java:32)
              at org.jfrog.build.extractor.maven.resolver.ArtifactoryEclipseRepositoryListener.initResolutionHelper(ArtifactoryEclipseRepositoryListener.java:187)
              at org.jfrog.build.extractor.maven.resolver.ArtifactoryEclipseRepositoryListener.verifyArtifactoryResolutionEnforced(ArtifactoryEclipseRepositoryListener.java:129)
              at org.jfrog.build.extractor.maven.resolver.ArtifactoryEclipseRepositoryListener.metadataDownloading(ArtifactoryEclipseRepositoryListener.java:99)
              at org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher.dispatch(DefaultRepositoryEventDispatcher.java:169)
              at org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher.dispatch(DefaultRepositoryEventDispatcher.java:111)
              at org.eclipse.aether.internal.impl.DefaultMetadataResolver.metadataDownloading(DefaultMetadataResolver.java:517)
              at org.eclipse.aether.internal.impl.DefaultMetadataResolver.access$000(DefaultMetadataResolver.java:75)
              at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:598)
              at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      
      "DefaultMetadataResolver-4-0" #359 daemon prio=5 os_prio=0 tid=0x00002b4860d98000 nid=0x7683 runnable [0x00002b4843994000]
         java.lang.Thread.State: RUNNABLE
              at java.util.TreeMap.put(TreeMap.java:568)
              at org.jfrog.build.extractor.clientConfiguration.PrefixPropertyHandler.setStringValue(PrefixPropertyHandler.java:55)
              at org.jfrog.build.extractor.clientConfiguration.ArtifactoryClientConfiguration.fillFromProperties(ArtifactoryClientConfiguration.java:94)
              at org.jfrog.build.extractor.clientConfiguration.ArtifactoryClientConfiguration.fillFromProperties(ArtifactoryClientConfiguration.java:80)
              at org.jfrog.build.extractor.maven.resolver.ResolutionHelper.init(ResolutionHelper.java:32)
              at org.jfrog.build.extractor.maven.resolver.ArtifactoryEclipseRepositoryListener.initResolutionHelper(ArtifactoryEclipseRepositoryListener.java:187)
              at org.jfrog.build.extractor.maven.resolver.ArtifactoryEclipseRepositoryListener.verifyArtifactoryResolutionEnforced(ArtifactoryEclipseRepositoryListener.java:129)
              at org.jfrog.build.extractor.maven.resolver.ArtifactoryEclipseRepositoryListener.metadataDownloading(ArtifactoryEclipseRepositoryListener.java:99)
              at org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher.dispatch(DefaultRepositoryEventDispatcher.java:169)
              at org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher.dispatch(DefaultRepositoryEventDispatcher.java:111)
              at org.eclipse.aether.internal.impl.DefaultMetadataResolver.metadataDownloading(DefaultMetadataResolver.java:517)
              at org.eclipse.aether.internal.impl.DefaultMetadataResolver.access$000(DefaultMetadataResolver.java:75)
              at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:598)
              at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      

      This high cpu usage can cause jobs to timeout.

      Is therte a way to resolve this ?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                eyalbe Eyal Ben Moshe (Inactive)
                Reporter:
                plord Peter Lord
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: