Uploaded image for project: 'Jira Cloud'
  1. Jira Cloud
  2. JRACLOUD-19145

Index optimise on large instances can cause timeouts for some requests

    XMLWordPrintable

Details

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      NOTE: This suggestion is for JIRA Cloud. Using JIRA Server? See the corresponding suggestion.

      When a Jira instance has a large number of issue, an optimise can cause HTTP threads to time out. For example, on this instance, there are 190K issue with a 1.9G main index. When the limit of 4000 issues is reached, the thread that causes that to be reached will kick off an optimised. This means that the whole 1.9Gb index will be rewritten. In this case, it took 111 seconds:

      2009-09-17 17:17:06,293 http-8000-Processor49 INFO tstcreateissue73 62195x782165x2 1bxkl5q http://localhost:8000/secure/AddComment.jspa [jira.issue.index.DefaultIndexManager] Optimizing the
       index because 4009 issues have been re-indexed since last optimize. Threshold is 4000.
      2009-09-17 17:18:27,154 http-8000-Processor32 INFO tstcreateissue230 62195x782163x8 779gde http://localhost:8000/secure/CreateIssueDetails.jspa [jira.issue.index.DefaultIndexManager] Optimize index completed in 111623ms.
      

      This led to a timeout for a thread attempting to add a comment:

      2009-09-17 17:18:57,865 http-8000-Processor32 ERROR tstcreateissue230 62307x782180x10 779gde http://localhost:8000/secure/AddComment.jspa [jira.issue.index.DefaultIndexManager] Wait attempt timed out - waited 30000 milliseconds
      com.atlassian.jira.issue.index.IndexException: Wait attempt timed out - waited 30000 milliseconds        at com.atlassian.jira.issue.index.DefaultIndexManager.obtain(DefaultIndexManager.java:525)
              at com.atlassian.jira.issue.index.DefaultIndexManager.await(DefaultIndexManager.java:466)        at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:330)
              at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:282)        at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssueObjects(DefaultIndexManager.java:292)
              at sun.reflect.GeneratedMethodAccessor352.invoke(Unknown Source)        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:70)
              at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)        at $Proxy63.reIndexIssueObjects(Unknown Source)
              at com.atlassian.jira.event.listeners.search.IssueIndexListener.reIndex(IssueIndexListener.java:155)        at com.atlassian.jira.event.listeners.search.IssueIndexListener.issueCommented(IssueIndexListener.java:88)
              at com.atlassian.jira.event.issue.AbstractIssueEventListener.workflowEvent(AbstractIssueEventListener.java:112)        at com.atlassian.jira.event.issue.IssueEventDispatcher.dispatchEvent(IssueEventDispatcher.java:125)
              at com.atlassian.jira.event.issue.IssueEventDispatcher.dispatchEvent(IssueEventDispatcher.java:83)        at com.atlassian.jira.web.action.issue.AddComment.alertSystemOfComment(AddComment.java:101)
              at com.atlassian.jira.web.action.issue.AddComment.doExecute(AddComment.java:85)        at webwork.action.ActionSupport.execute(ActionSupport.java:153)
              at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:59)        at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:141)
              at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:181)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
              at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
              at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.executeRequest(AccessLogFilter.java:154)        at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.doFilter(AccessLogFilter.java:133)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
              at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)        at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
              at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:40)
              at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerF
      ...
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gbarnett George Barnett
              Votes:
              37 Vote for this issue
              Watchers:
              35 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: