com.atlassian.jira.issue.customfields.impl.FieldValidationException: Sprint must exist: 11

Atlassian JIRA | Nick Mason [Atlassian] | 2 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    h3. Steps to reproduce # Create a sprint. # Create a JIRA filter using the Basic Search (choose More > Sprint and tick the new sprint). # Delete that newly-created sprint # While being on the rapid board, reload the filter in the Issue Navigator from Issue -> <filter-name> h3. Expected results The filter loads but with a message saying that that sprint doesn't exist. h3. Actual results The filter blows up with a 500 error, and this stack trace: {code:none} com.atlassian.jira.issue.customfields.impl.FieldValidationException: Sprint must exist: 11 at com.atlassian.greenhopper.customfield.sprint.SprintCFType.getSingularObjectFromString(SprintCFType.java:152) at com.atlassian.greenhopper.customfield.sprint.SprintCFType.getSingularObjectFromString(SprintCFType.java:68) at com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.getSprintFromIdObj(SprintSearchRenderer.java:109) at com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.access$200(SprintSearchRenderer.java:30) at com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer$2.apply(SprintSearchRenderer.java:154) at com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:451) at java.util.AbstractList$Itr.next(AbstractList.java:358) at java.util.AbstractCollection.addAll(AbstractCollection.java:343) at java.util.HashSet.<init>(HashSet.java:119) at com.google.common.collect.Sets.newHashSet(Sets.java:211) at com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.getViewHtml(SprintSearchRenderer.java:82) at com.atlassian.jira.components.query.DefaultSearcherService.getValueResults(DefaultSearcherService.java:251) at com.atlassian.jira.components.query.DefaultSearcherService.getSearchResults(DefaultSearcherService.java:180) at com.atlassian.jira.components.query.DefaultSearcherService.searchWithJql(DefaultSearcherService.java:174) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58) at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56) at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy4496.searchWithJql(Unknown Source) at com.atlassian.jira.plugin.issuenav.IssueNavAction.performSearch(IssueNavAction.java:1235) at com.atlassian.jira.plugin.issuenav.IssueNavAction.doNav(IssueNavAction.java:414) at com.atlassian.jira.plugin.issuenav.IssueNavAction.doDefault(IssueNavAction.java:258) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70) at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56) [...] {code} h3. Workaround The filter will either need to be manually updated in the database, or a new filter created with the same details but without the reference to the deleted sprint ID and the board swapped over to use that. The Basic Search in the issue navigator uses sprint IDs instead of the names when it saves the filter. Using advanced search and using "sprint = <name of sprint>" when creating the filter doesn't have this problem.

    Atlassian JIRA | 2 years ago | Nick Mason
    com.atlassian.jira.issue.customfields.impl.FieldValidationException: Sprint must exist: 11
  2. 0

    h3. Steps to reproduce # Create a sprint. # Create a JIRA filter using the Basic Search (choose More > Sprint and tick the new sprint). # Delete that newly-created sprint # While being on the rapid board, reload the filter in the Issue Navigator from Issue -> <filter-name> h3. Expected results The filter loads but with a message saying that that sprint doesn't exist. h3. Actual results The filter blows up with a 500 error, and this stack trace: {code:none} com.atlassian.jira.issue.customfields.impl.FieldValidationException: Sprint must exist: 11 at com.atlassian.greenhopper.customfield.sprint.SprintCFType.getSingularObjectFromString(SprintCFType.java:152) at com.atlassian.greenhopper.customfield.sprint.SprintCFType.getSingularObjectFromString(SprintCFType.java:68) at com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.getSprintFromIdObj(SprintSearchRenderer.java:109) at com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.access$200(SprintSearchRenderer.java:30) at com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer$2.apply(SprintSearchRenderer.java:154) at com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:451) at java.util.AbstractList$Itr.next(AbstractList.java:358) at java.util.AbstractCollection.addAll(AbstractCollection.java:343) at java.util.HashSet.<init>(HashSet.java:119) at com.google.common.collect.Sets.newHashSet(Sets.java:211) at com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.getViewHtml(SprintSearchRenderer.java:82) at com.atlassian.jira.components.query.DefaultSearcherService.getValueResults(DefaultSearcherService.java:251) at com.atlassian.jira.components.query.DefaultSearcherService.getSearchResults(DefaultSearcherService.java:180) at com.atlassian.jira.components.query.DefaultSearcherService.searchWithJql(DefaultSearcherService.java:174) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58) at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56) at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy4496.searchWithJql(Unknown Source) at com.atlassian.jira.plugin.issuenav.IssueNavAction.performSearch(IssueNavAction.java:1235) at com.atlassian.jira.plugin.issuenav.IssueNavAction.doNav(IssueNavAction.java:414) at com.atlassian.jira.plugin.issuenav.IssueNavAction.doDefault(IssueNavAction.java:258) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70) at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56) [...] {code} h3. Workaround The filter will either need to be manually updated in the database, or a new filter created with the same details but without the reference to the deleted sprint ID and the board swapped over to use that. The Basic Search in the issue navigator uses sprint IDs instead of the names when it saves the filter. Using advanced search and using "sprint = <name of sprint>" when creating the filter doesn't have this problem.

    Atlassian JIRA | 2 years ago | Nick Mason [Atlassian]
    com.atlassian.jira.issue.customfields.impl.FieldValidationException: Sprint must exist: 11

    Root Cause Analysis

    1. com.atlassian.jira.issue.customfields.impl.FieldValidationException

      Sprint must exist: 11

      at com.atlassian.greenhopper.customfield.sprint.SprintCFType.getSingularObjectFromString()
    2. com.atlassian.greenhopper
      SprintSearchRenderer$2.apply
      1. com.atlassian.greenhopper.customfield.sprint.SprintCFType.getSingularObjectFromString(SprintCFType.java:152)
      2. com.atlassian.greenhopper.customfield.sprint.SprintCFType.getSingularObjectFromString(SprintCFType.java:68)
      3. com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.getSprintFromIdObj(SprintSearchRenderer.java:109)
      4. com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.access$200(SprintSearchRenderer.java:30)
      5. com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer$2.apply(SprintSearchRenderer.java:154)
      5 frames
    3. Guava
      Lists$TransformingRandomAccessList.get
      1. com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:451)
      1 frame
    4. Java RT
      HashSet.<init>
      1. java.util.AbstractList$Itr.next(AbstractList.java:358)
      2. java.util.AbstractCollection.addAll(AbstractCollection.java:343)
      3. java.util.HashSet.<init>(HashSet.java:119)
      3 frames
    5. Guava
      Sets.newHashSet
      1. com.google.common.collect.Sets.newHashSet(Sets.java:211)
      1 frame
    6. com.atlassian.greenhopper
      SprintSearchRenderer.getViewHtml
      1. com.atlassian.greenhopper.customfield.sprint.SprintSearchRenderer.getViewHtml(SprintSearchRenderer.java:82)
      1 frame
    7. com.atlassian.jira
      DefaultSearcherService.searchWithJql
      1. com.atlassian.jira.components.query.DefaultSearcherService.getValueResults(DefaultSearcherService.java:251)
      2. com.atlassian.jira.components.query.DefaultSearcherService.getSearchResults(DefaultSearcherService.java:180)
      3. com.atlassian.jira.components.query.DefaultSearcherService.searchWithJql(DefaultSearcherService.java:174)
      3 frames
    8. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      4. java.lang.reflect.Method.invoke(Method.java:497)
      4 frames
    9. Spring AOP
      AopUtils.invokeJoinpointUsingReflection
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      1 frame
    10. Spring OSGi Core
      ServiceInvoker.invoke
      1. org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
      2. org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
      2 frames
    11. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      2. org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      3. org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      4. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      4 frames
    12. Spring OSGi Core
      ServiceTCCLInterceptor.invoke
      1. org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
      2. org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
      2 frames
    13. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      1 frame
    14. Spring OSGi Core
      LocalBundleContextAdvice.invoke
      1. org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
      1 frame
    15. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      2. org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      3. org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      4. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      5. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      5 frames
    16. com.sun.proxy
      $Proxy4496.searchWithJql
      1. com.sun.proxy.$Proxy4496.searchWithJql(Unknown Source)
      1 frame
    17. com.atlassian.jira
      IssueNavAction.doDefault
      1. com.atlassian.jira.plugin.issuenav.IssueNavAction.performSearch(IssueNavAction.java:1235)
      2. com.atlassian.jira.plugin.issuenav.IssueNavAction.doNav(IssueNavAction.java:414)
      3. com.atlassian.jira.plugin.issuenav.IssueNavAction.doDefault(IssueNavAction.java:258)
      3 frames
    18. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      4. java.lang.reflect.Method.invoke(Method.java:497)
      4 frames
    19. webwork.util
      InjectionUtils.invoke
      1. webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70)
      2. webwork.util.InjectionUtils.invoke(InjectionUtils.java:56)
      2 frames