Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-21250

Configure the frequency at which Epic Link suggestions may submit search requests.


    • Icon: Suggestion Suggestion
    • Resolution: Fixed
    • 8.20.7
    • Epics
    • None
    • We collect Jira feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      Issue Summary

      This is essentially an analogous feature request to JRASERVER-71248 : Provide a way to configure the frequency at which JQL autocomplete suggestions may submit search requests, where a new set of configuration parameters was implemented in order to limit both the frequency and number of characters typed before suggestions occur.

      When attempting to set an Epic Link value to an existing issue, typing characters into the Epic Link field causes the browser to submit numerous search requests against the following endpoint:

      • /rest/greenhopper/1.0/epics

      If the value being searched on is particularly long and the user does not type quickly enough, an individual API call will be issued against Jira for every character typed, quickly consuming high CPU resources and many HTTP threads. In a busy or large instance, each request can take multiple seconds to return, eventually leading to performance degradation or outages.

      Steps to Reproduce

      1. Create a Jira Software project
      2. Create a new Story
      3. Attempt to set an Epic Link by performing an Edit against the Story

      Expected Results

      Jira can suggest values as the user types without negatively impacting Jira

      Actual Results

      Using the browser's developer tools Network tool will show an individual API call being sent to Jira for every character typed, if typed more than ~300ms apart

      Access Logs reflect the API volume:

      "GET /rest/greenhopper/1.0/epics?searchQuery=&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123839 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=s&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123840 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=so&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123841 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=som&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123842 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=some&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123843 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=some&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123844 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=some+e&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123845 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=some+ep&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123846 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=some+epi&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123847 HTTP/1.1"
      "GET /rest/greenhopper/1.0/epics?searchQuery=some+epic&projectKey=PROJ&maxResults=100&hideDone=true&_=1644536123848 HTTP/1.1"


      • Characters should be typed quickly in order to avoid unnecessary API calls
      • Searches can be copied and pasted directly into the Epic Link if known

            292ec441c8da Szymon Korytnicki (Inactive)
            kliou Kevin Liou
            1 Vote for this issue
            3 Start watching this issue