Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-73066

This plugin inefficiently retrieves the credential from system configuration every time

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • CloudBees CI Managed Controller 2.401.3.3-rolling
      CloudBees CI Cloud Operations Center 2.401.3.3-rolling
      Bitbucket integration server version 3.6.0

      Every time we try to configure a view, it ends on 504 error.

      This plugin inefficiently retrieves the credential from system configuration every time it adds Actions to Multibranch Pipeline. In a setup with remote credential store like operations center, it slows things down significantly since every credential lookup is a network call.

      It adds a link to the repo for every item that is configured with relevant BitBucket Server repository. Each time it does it, it validates the BitBucket Server Configuration which involves looking up credential which causes a request to the Operations Center.

      The more items we have configured, more request to the operation center are triggered, ending up on slowness and causing 504 error.

       

      38713msec elapsed in Handling GET /controller_name/view/10-%20name/configure from {ip address}: Jetty (winstone)-955969 View/configure.jelly SectionedView/configure-entries.jelly ListViewSection/DescriptorImpl/config.jelly
      {{ ...}}
      {{ com.sun.proxy.$Proxy94.getRemoteCredentials(Unknown Source)}}
      {{ com.cloudbees.opscenter.client.plugin.OperationsCenterCredentialsProvider.getCredentials(OperationsCenterCredentialsProvider.java:140)}}
      {{ com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials(CredentialsProvider.java:429)}}
      {{ com.atlassian.bitbucket.jenkins.internal.config.BitbucketServerConfiguration.checkAdminCredentialsId(BitbucketServerConfiguration.java:172)}}
      {{ com.atlassian.bitbucket.jenkins.internal.config.BitbucketServerConfiguration.validate(BitbucketServerConfiguration.java:157)}}
      {{ com.atlassian.bitbucket.jenkins.internal.link.BitbucketExternalLinkUtils$$Lambda$1183/0x000000084177d040.apply(Unknown Source)}}
      {{ java.base@11.0.20/java.util.Optional.map(Optional.java:265)}}
      {{ com.atlassian.bitbucket.jenkins.internal.link.BitbucketExternalLinkUtils.getConfiguration(BitbucketExternalLinkUtils.java:70)}}
      {{ com.atlassian.bitbucket.jenkins.internal.link.BitbucketExternalLinkUtils.createRepoLink(BitbucketExternalLinkUtils.java:51)}}
      {{ com.atlassian.bitbucket.jenkins.internal.link.BitbucketMultibranchLinkActionFactory$$Lambda$1181/0x000000084177d840.apply(Unknown Source)}}
      {{ java.base@11.0.20/java.util.Optional.flatMap(Optional.java:294)}}
      {{ com.atlassian.bitbucket.jenkins.internal.link.BitbucketMultibranchLinkActionFactory.createFor(BitbucketMultibranchLinkActionFactory.java:35)}}
      {{ com.atlassian.bitbucket.jenkins.internal.link.BitbucketMultibranchLinkActionFactory.createFor(BitbucketMultibranchLinkActionFactory.java:16)}}
      {{ hudson.model.Actionable.createFor(Actionable.java:115)}}
      {{ hudson.model.Actionable.getAction(Actionable.java:332)}}
      {{ jenkins.branch.MultiBranchProject.getDisplayName(MultiBranchProject.java:846)}}
      {{ hudson.Functions.getRelativeNameFrom(Functions.java:1422)}}

       

      Thanks
      Dio

            Unassigned Unassigned
            dionisioramirez Dionisio
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: