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

Activating the workflow "Builds Workflow" will break the instance search.

XMLWordPrintable

      Summary

      Activating the system workflow Builds Workflow will cause the instance index to break.

      Steps to Reproduce

      1. Create a new project
      2. Associate the Builds Workflow to it:
      3. Publish the workflow
      4. Hit the search for issues page

      Expected Results

      The search should open fine.

      Actual Results

      java.lang.NullPointerException: at index 5
      	at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:240) [guava-18.0.jar:?]
      	at com.google.common.collect.ImmutableSet.construct(ImmutableSet.java:195) [guava-18.0.jar:?]
      	at com.google.common.collect.ImmutableSet.copyOf(ImmutableSet.java:375) [guava-18.0.jar:?]
      	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:503) [?:1.8.0_131]
      	at com.atlassian.jira.workflow.OSWorkflowManager.getWorkflowStatuses(OSWorkflowManager.java:249) [classes/:?]
      	at com.atlassian.jira.issue.search.searchers.renderer.StatusSearchRenderer.getStatusesForActiveWorkflows(StatusSearchRenderer.java:116) [classes/:?]
      	at com.atlassian.jira.issue.search.searchers.renderer.StatusSearchRenderer.getSelectListOptions(StatusSearchRenderer.java:72) [classes/:?]
      	at com.atlassian.jira.issue.search.searchers.renderer.IssueConstantsSearchRenderer.getEditHtml(IssueConstantsSearchRenderer.java:51) [classes/:?]
      	at com.atlassian.jira.components.query.DefaultSearcherService.getEditHtml(DefaultSearcherService.java:412) [?:?]
      	at com.atlassian.jira.components.query.DefaultSearcherService.getValueResults(DefaultSearcherService.java:230) [?:?]
      	at com.atlassian.jira.components.query.DefaultSearcherService.getSearchResults(DefaultSearcherService.java:165) [?:?]
      	at com.atlassian.jira.components.query.DefaultSearcherService.searchWithJql(DefaultSearcherService.java:160) [?:?]
      	at sun.reflect.GeneratedMethodAccessor3145.invoke(Unknown Source) [?:?]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_131]
      	at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_131]
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) [?:?]
      	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) [?:?]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor$1.run(ServiceTCCLInterceptor.java:61) [?:?]
      	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:130) [?:?]
      	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokePrivileged(ServiceTCCLInterceptor.java:58) [?:?]
      	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:50) [?:?]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) [?:?]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE]
      	at com.sun.proxy.$Proxy3204.searchWithJql(Unknown Source) [?:?]...
      

      Notes

      Usually, we would be able to fix something like this by creating new statuses and them updating the workflows on the database to point to these new statuses. This is not possible in this situation as it is a system workflow and it's not stored on the instance database directly.

      Entering the workflow page you can see the statuses that are missing:

      Workaround

      Removing the Builds Workflow association with the projects ,to make it inactive again, solves the issue.

        1. builds.png
          builds.png
          59 kB
        2. error.png
          error.png
          116 kB
        3. statuses.png
          statuses.png
          70 kB

              Unassigned Unassigned
              akasper André K. (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              20 Start watching this issue

                Created:
                Updated:
                Resolved: