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

An unconstrained filter can crash JIRA when used with a board

    XMLWordPrintable

Details

    • Bug
    • Resolution: Tracked Elsewhere
    • Medium
    • None
    • 6.7.0
    • None

    Description

      We had a user accidentally create a search filter and did not click search to execute the query. User fetched all the issues instead. This is due in part to JRA-35627 where the default searches all your issues. We have over 1 million issues.

      The user assumed typing out the JQL and clicking save would do the trick. They did not execute the search and accidentally made a filter for every issue.

      The user proceeded to create a Scrum board from this filter.

      We saw lots of activity churning/stuck here. CPU / GC shot-up and destabilized the system.

      There needs to be some JQL count sanity check that rejects searches that produces excessive amounts of issues.

      "http-bio-8080-exec-3324" #4542726 daemon prio=5 os_prio=0 tid=0x000000000c630800 nid=0xf223 runnable [0x00007f9d56555000]
         java.lang.Thread.State: RUNNABLE
              at org.apache.lucene.index.FieldsReader.skipField(FieldsReader.java:320)
              at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:279)
              at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:471)
              at org.apache.lucene.index.DirectoryReader.document(DirectoryReader.java:564)
              at org.apache.lucene.search.IndexSearcher.doc(IndexSearcher.java:248)
              at com.atlassian.jira.index.DelegateSearcher.doc(DelegateSearcher.java:87)
              at com.atlassian.greenhopper.service.issue.IssueDataCollector.collect(IssueDataCollector.java:55)
              at org.apache.lucene.search.IndexSearcher.searchWithFilter(IndexSearcher.java:572)
              at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:532)
              at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:320)
              at com.atlassian.jira.index.DelegateSearcher.search(DelegateSearcher.java:153)
              at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:349)
              at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:159)
              at sun.reflect.GeneratedMethodAccessor1575.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:497)
              at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
              at com.sun.proxy.$Proxy465.search(Unknown Source)
              at sun.reflect.GeneratedMethodAccessor1575.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:497)
              at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
              at com.sun.proxy.$Proxy465.search(Unknown Source)
              at com.atlassian.greenhopper.service.issue.IssueDataServiceImpl.findImpl(IssueDataServiceImpl.java:166)
              at com.atlassian.greenhopper.service.issue.IssueDataServiceImpl.findWithServiceOutcome(IssueDataServiceImpl.java:48)
              at com.atlassian.greenhopper.web.rapid.plan.ClassificationStatisticServiceImpl.getClassificationStatistics(ClassificationStatisticServiceImpl.java:115)
              at com.atlassian.greenhopper.web.rapid.plan.ClassificationStatisticServiceImpl.getVersionStatistics(ClassificationStatisticServiceImpl.java:98)
              at com.atlassian.greenhopper.web.rapid.plan.PlanningModeHelper.loadVersionStatistics(PlanningModeHelper.java:490)
              at com.atlassian.greenhopper.web.rapid.plan.PlanningModeHelper.loadVersionDataForProjects(PlanningModeHelper.java:467)
              at com.atlassian.greenhopper.web.rapid.plan.PlanningModeHelper.loadNewBacklogData(PlanningModeHelper.java:158)
              at com.atlassian.greenhopper.web.rapid.plan.PlanningModeResource$1.call(PlanningModeResource.java:97)
              at com.atlassian.greenhopper.web.rapid.plan.PlanningModeResource$1.call(PlanningModeResource.java:86)
              at com.atlassian.greenhopper.web.util.RestCall.response(RestCall.java:42)
              at com.atlassian.greenhopper.web.AbstractResource.createResponse(AbstractResource.java:104)
              at com.atlassian.greenhopper.web.AbstractResource.response(AbstractResource.java:85)
              at com.atlassian.greenhopper.web.rapid.plan.PlanningModeResource.getBacklogData(PlanningModeResource.java:85)
              at sun.reflect.GeneratedMethodAccessor4981.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:497)
              at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:234)
              at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:100)
              at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61)
              at com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept(ExpandInterceptor.java:38)
              at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61)
              at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors(DispatchProviderHelper.java:132)
              at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker._dispatch(DispatchProviderHelper.java:230)
              at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
              at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
              at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              a38518e05741 David Yu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: