Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-22687

The labels manager only takes ids which can make it inefficient.

    XMLWordPrintable

Details

    • 4.02
    • Severity 3 - Minor
    • Hide
      Atlassian Update – 16 November 2017

      Hi everyone,

      The issue has not collected enough votes, watches, comments or support cases during it's lifetime. In this sense overal interest in the reported problem is low.
      Jira team is focusing on bigger and more impactful issues at the moment and we are not likely to look at the current bug soon. Therefore I'm resolving the issue as Timed Out.

      Atlassian will continue to watch issue for the further updates, so please don't hesitate to share your feedback in the issue comments.

      Cheers,
      Ignat Alexeyenko
      Jira bugmaster.

      Show
      Atlassian Update – 16 November 2017 Hi everyone, The issue has not collected enough votes, watches, comments or support cases during it's lifetime. In this sense overal interest in the reported problem is low. Jira team is focusing on bigger and more impactful issues at the moment and we are not likely to look at the current bug soon. Therefore I'm resolving the issue as Timed Out . Atlassian will continue to watch issue for the further updates, so please don't hesitate to share your feedback in the issue comments. Cheers, Ignat Alexeyenko Jira bugmaster.

    Description

      The DefaultLabelManager takes in IssueIds. This means that it has to lookup the issue that it is trying to change. As there is no issue cache this a DB query. A lot of the time the caller already has the issue which means we end up doing an extra DB query.

      For example when creating an issue JIRA is forced to do a SQL query for the issue that it is creating (which I guess must be in the database at this stage?):

      http-8090-Processor6@10752 daemon, prio=5, in group 'main', status: 'runnable'
        java.lang.Thread.State: RUNNABLE
      	  at com.atlassian.jira.issue.managers.DefaultIssueManager.getIssueObject(DefaultIssueManager.java:254)
      	  at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source:-1)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	  at java.lang.reflect.Method.invoke(Method.java:597)
      	  at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:73)
      	  at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
      	  at $Proxy38.getIssueObject(Unknown Source:-1)
      	  at com.atlassian.jira.issue.label.DefaultLabelManager.findIssue(DefaultLabelManager.java:243)
      	  at com.atlassian.jira.issue.label.DefaultLabelManager.setLabels(DefaultLabelManager.java:81)
      	  at com.atlassian.jira.issue.fields.LabelsSystemField.createValue(LabelsSystemField.java:234)
      	  at com.atlassian.jira.workflow.function.issue.IssueCreateFunction.execute(IssueCreateFunction.java:83)
      	  at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:869)
      	  at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1265)
      	  at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:618)
      	  at com.atlassian.jira.workflow.SimpleWorkflowManager.createIssue(SimpleWorkflowManager.java:219)
      	  at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:431)
      	  at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:372)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	  at java.lang.reflect.Method.invoke(Method.java:597)
      	  at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:73)
      	  at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
      	  at $Proxy38.createIssue(Unknown Source:-1)
      	  at com.atlassian.jira.bc.issue.DefaultIssueService.create(DefaultIssueService.java:163)
      	  at com.atlassian.jira.web.action.issue.CreateIssueDetails.createIssue(CreateIssueDetails.java:96)
      	  at com.atlassian.jira.web.action.issue.CreateIssueDetails.doExecute(CreateIssueDetails.java:72)
      

      This seems to be very inefficient.

      Attachments

        Activity

          People

            Unassigned Unassigned
            bbain bain
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: