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"
      

      Workaround

      • 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

            [JSWSERVER-21250] Configure the frequency at which Epic Link suggestions may submit search requests.

            Szymon Korytnicki (Inactive) made changes -
            Fix Version/s New: 8.20.7 [ 99497 ]
            Resolution New: Fixed [ 1 ]
            Status Original: Gathering Interest [ 11772 ] New: Closed [ 6 ]
            Szymon Korytnicki (Inactive) made changes -
            Link New: This issue relates to JSWSERVER-21026 [ JSWSERVER-21026 ]

            Since 8.20.7 and 8.22.0 performance problems should be fixed. Also, front-end debouncing of the picker is implemented. Calls are no longer made on each keystroke

            Szymon Korytnicki (Inactive) added a comment - Since 8.20.7 and 8.22.0 performance problems should be fixed. Also, front-end debouncing of the picker is implemented. Calls are no longer made on each keystroke
            Szymon Korytnicki (Inactive) made changes -
            Assignee New: Szymon Korytnicki [ 292ec441c8da ]
            Kevin Liou made changes -
            Link New: This issue relates to JSWSERVER-20452 [ JSWSERVER-20452 ]
            Kevin Liou made changes -
            Description Original: h3. 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.
            h3. Steps to Reproduce
             # Create a Jira Software project
             # Create a new Story
             # Attempt to set an Epic Link by performing an Edit against the Story

            h3. Expected Results

            Jira can suggest values as the user types without negatively impacting Jira
            h3. 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:
            {code:java}
            "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"
            {code}

            h3. Workaround
            * 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
            New: h3. 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|https://jira.atlassian.com/browse/JRASERVER-71248], 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.
            h3. Steps to Reproduce
             # Create a Jira Software project
             # Create a new Story
             # Attempt to set an Epic Link by performing an Edit against the Story

            h3. Expected Results

            Jira can suggest values as the user types without negatively impacting Jira
            h3. 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:
            {code:java}
            "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"
            {code}

            h3. Workaround
            * 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
            Kevin Liou made changes -
            Link New: This issue is related to JRASERVER-71248 [ JRASERVER-71248 ]
            Kevin Liou created issue -

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

                Created:
                Updated:
                Resolved: